c++ - 如何查看php内核的调度顺序,不想每次编译然后看看是否执行了自己想要的分支
程序员文章站
2022-06-01 11:01:35
...
问题是这样的,我想调试一下看看php内核的具体文件调用,大体的调用结构自己大概也知道了,但是具体的不知道如何方便的调试
我目前所用的方法就是手动的去php_printf一些信息,然后重新编译php来看看是否走到了这一步,但是这样每次花好长时间重新编译。
所以想问大家有没有好的办法可以调试!
回复内容:
问题是这样的,我想调试一下看看php内核的具体文件调用,大体的调用结构自己大概也知道了,但是具体的不知道如何方便的调试
我目前所用的方法就是手动的去php_printf一些信息,然后重新编译php来看看是否走到了这一步,但是这样每次花好长时间重新编译。
所以想问大家有没有好的办法可以调试!
strace
编译 php
时 configure
中添加 --enable-debug
即可打开 php
调试模式,这时候编译的 php
是带有调试信息的,可以通过 gdb
进行断点调试。不知道这样能不能满足你的需求?
不知道你使用的是什么IDE,我只是介绍一下我的经验。我开发PHP扩展使用 CLion
,使用 debug 模式的 php ,在 Clion 中直接使用 gcc 编译扩展运行,断点可以直接在编译器中打,调试运行、步进都正常使用。如果 php 的源码仍然保留着,可以把断点直接打到源码中。编译到开始调试一步完成。