VS2012开发调试PHP扩展
2013-10-15 00:02
281 查看
前言
开发中必不可少的环节就是调试,而调试的方式直接影响到开发效率和软件质量。之前开发PHP扩展,一直不会DEBUG调试,每次调试都是重新编译、执行再运行PHP脚本看运行状况再调试。太痛苦、太影响效率了。也百度、谷歌了如何调试PHP扩展的问题,但回答的几乎都是GDB,可惜也不知道如何实际操作。
VS用的不多,很多功能也不知道干嘛的,前几天有位同事说可以用VS的“附加到进程”来调试PHP的扩展,我擦~突然感觉有救了。当然也是因为我对C的调试不熟悉导致的。
进入主题:
一、搭建Windows的PHP扩展开发环境
查看我的另一篇文章:http://blog.csdn.net/a600423444/article/details/8108993文章介绍的是PHP5.4的搭建方法,如果要更换为PHP5.5也大同小异,步骤一样。
二、配置调试环境
1.下载PHP_DEBUG_PACK文件
http://windows.php.net/download/#php-5.4选择时,注意必须与下载的PHP二进制版本相同,例如你在第一步搭建PHP开发环境时,选择的是VC9 x86 Non Thread Safe,那么DEBUG PACK就应该下载相同版本的DEBUG PACK。
2.引入符号文件
Debug pack压缩包里是所有PHP调试相关的符号文件(*.pdb),引入他们是调试的关键。项目-》属性-》调试-》符号-》将解压路径添加入符号位置
3.扩展开启DEBUG信息
项目-》属性-》链接器-》调试-》生成调试信息-》设置为“是”编译生成Release版本DLL时,会生成vc110.pdb,将它也放入前面解压的PDB路径,为了统一命名格式,可以将其改名与扩展同名。此处我本机改的是“php_test.pdb”
至此配置已经完成了,接下来看如何使用调试。
三、附加到进程
1.写一段PHP脚本,并在终端运行且常驻进程。
<?php while(1){ echo confirm_test_compiled('11'); sleep(4); }
此处,常驻并非必须的。只是我本地为测试方便。
2.添加断点位置
3.附加进程
调试-》附加到进程:选择上面1中执行PHP产生的进程。现在,只需等待程序运行到断点位置即可看到调试信息:
Over.
希望这篇文章,能够帮助像我一样刚刚接触PHP扩展的朋友们~。
相关文章推荐
- VS2012开发调试PHP扩展
- PHP扩展开发(6) - VS2012下strncasecmp和fopen函数warning
- VS2012开发PHP,Linux Server运行PHP,支持远程调试
- 用QtCreator搭建PHP扩展开发的编辑环境和调试环境
- 用qt creator搭建开发、调试php扩展的环境
- VS2013开发调试PHP扩展
- php扩展xdebug (php页面调试)
- C语言开发php扩展链接库初学
- java python php 经典开发流程 开发效率 运行效率&并发&可扩展
- windows下开发PHP扩展dll(无需Cygwin)
- PHP开发环境搭建 (XAMPP+Xdebug+netbeans,配置调试)
- PHP扩展开发-简单类扩展
- 开发一个简易的PHP扩展
- Linux 下PHP扩展开发系列:二. 一个典型的扩展开发
- PHP扩展开发与内核应用阅读笔记---php的内存管理
- PHP扩展开发 - 实现第一个PHP类
- PHP扩展开发之PHP的启动与终止
- PHP扩展开发(4):函数返回值
- VS2012开发ArcGis插件无法进入断点调试
- PHP开发C++扩展