在之前一段时间涉及PHP扩展开发,对PHP源代码有调试需求,然而网上大部分都是在LINUX下调试的教程,WINDOWS系统下的非常少并且过程也只是粗略一讲。所以决定自己尝试在WINDOWS下建立调试环境,毕竟,原理是相通的:)。
1.准备
以下是我开发机上的配置,可以和我保持一致减少因为工具版本而出现额外问题的几率。
1.Visual Code源代码编辑调试工具 (推荐学习:vscode入门教程)
2.Visual Studio Community2017(VS一般都把WIN下开发需要的东西都带全了,毕竟宇宙全家桶.....)
红色标注区域必须安装
3.PHP7源代码(也可以选择从github上拉取)
可以任意选择一个打包版本的源代码
4.PHP7-SDK
我的开发机是64位,因为是编译PHP7所以选择了64位的deps-7.1-vc14-x64(扩展依赖库包),建立php-sdk-binary-tools文件夹,将php-sdk-binary-tools-xxx.zip解压至这个文件夹中,建立deps-vc14-x64文件夹,也将deps-7.1-vc14-x64.7z解压至这个文件夹中。
同时将php-sdk-binary-tools中的bin路径添加到WINDOWS系统变量PATH中。deps-7.1-vc14-x64本文暂时用不上,不过你也可以先下载下来,因为编译自带的一些扩展所依赖的库和头文件都包含在里面,当你要编译自带扩展的时候可以用上:)。
2.编译源代码
安装VS后,运行在开始菜单里的Visual Studio 2017文件夹下的x64 Native Tools Command Prompt for VS 2017
运行后,进入到PHP7源代码目录中
1.执行buildconf.bat生成WIN下的configure文件(configure.js)
2.可以运行configure.bat --help查看支持的编译参数
3.执行configure.bat --disable-all --enable-cli --enable-debug(为了示范简单编译,可以自行添加参数)
4.执行nmake命令开始编译
以本机的配置,编译完成后的执行文件在源代码目录中的x64/Debug_TS下,后面就可以准备开始调试了。
3.使用VSCODE调试
调试方式可以分2种,一种是附加进程调试,一种是运行启动调试,两种方式都会介绍,先介绍运行启动调试。
先创建一个用于测试的php的源代码文件,我创建在源代码目录下的x64/Debug_TS里。
随后选择菜单调试->打开配置,并选择C++(Windows)
最后将配置文件修改如下所示
我们之前编译了PHP SAPI的cli,我们打开sapi/cli/php_cli.c源文件,定位到1197行的main函数内打上断点。
随后我们到VS的DEBUG控制面板运行调试即可。
随后即可看到断点命中。
附加进程调试配置也是大同小异,我们点击菜单选项调试->打开配置,并选择添加配置,在弹出来的选择列表中选择C/C++(Windows) Attach
最后的配置文件如下:
我们首先用PHP -S启动一个内置服务器(这个php一定要是你编译生成的php.exe文件),来方便演示附加进程调试,我启动的位置是在我们之前创建的test.php文件所在的目录下。
访问效果如下:
启动调试的方式一样,在VSCODE的调试面板里面选择(Windows) Attach运行即可。
随后在弹出来的进程列表中选择PHP进程后开始进入调试状态。
我们test.php中使用了array_push函数,我们这次到这个函数的实现中断点,打开ext/standard/array.c,定位到2540行,打上断点。
随后在浏览器中访问http://127.0.0.1:8080/test.php 即可触发断点。
4.最后
本文的调试方式也可以作为扩展开发的调试方式,当然,同样的配置思路也适用于宇宙IDE Visual Studio,我在WINDOWS下配置VSCODE调试PHP源代码的思路也适用于其它平台(Mac/Linux......)。如果你感兴趣在Visual Studio中调试PHP源代码,不如以本文为思路尝试着自己思考动手来试试~
以上是WINDOWS下用VSCODE调试PHP7源代码的详细内容。更多信息请关注PHP中文网其他相关文章!

VisualStudio提供三种版本:Community免费版适用于个人和小型团队,Professional付费版适合专业开发者和中小型团队,Enterprise旗舰版面向大型企业和复杂项目。

VisualStudio在.NET开发中价值高,因其功能强大且全面。尽管成本和资源消耗较高,但其带来的效率提升和开发体验改善显着。对于个人开发者和小型团队,Community版是理想选择;大型企业则适合Professional或Enterprise版。

VisualStudio的免费版本包括VisualStudioCommunity和VisualStudioCode。1.VisualStudioCommunity适用于个人开发者、开源项目和小型团队,功能强大,适合个人项目和学习编程。2.VisualStudioCode是一个轻量级的代码编辑器,支持多种编程语言和扩展,启动速度快,资源占用少,适合需要灵活性和可扩展性的开发者。

在Windows8上安装VisualStudio的步骤如下:1.从微软官方网站下载VisualStudioCommunity2019安装包。2.运行安装程序并选择所需组件。3.完成安装后即可使用。注意选择与Windows8兼容的组件,并确保有足够的磁盘空间和管理员权限。

VSCode可以在大多数现代电脑上运行,只要满足基本系统要求:1.操作系统:Windows7及以上,macOS10.9及以上,Linux;2.处理器:1.6GHz或更快;3.内存:至少2GBRAM(推荐4GB或更高);4.存储空间:至少200MB可用空间。通过优化设置和减少扩展使用,可以在低配置电脑上获得流畅的使用体验。

要让程序在Windows8上顺畅运行,需采取以下步骤:1.使用兼容性模式,通过代码检测并启用该模式。2.调整API调用,根据Windows版本选择适当的API。3.进行性能优化,尽量避免使用兼容性模式,优化API调用并使用通用控件。

是的,vscodeiscompatiblewithwindows8.1)下载theinstallerfromtherfromthevscodewebsiteandensuretheletheLatest.netframeworksinstalled.2)installextensionsionsthecommandline,installextensions inthecommandline,notsomemememandline,NoteMemeMemAlandlower.3)noteSmomeMayMayload

VSCode是轻量级代码编辑器,适用于多种语言和扩展;VisualStudio是功能强大的IDE,主要用于.NET开发。1.VSCode基于Electron,支持跨平台,使用Monaco编辑器。2.VisualStudio使用微软自主技术栈,集成调试和编译器。3.VSCode适合简单任务,VisualStudio适合大型项目。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SublimeText3汉化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器