我正在调试PHP 5.2.9并且一切正常,但是今天在调试期间我看到gdb在我设置时没有停止:
(gdb) break lstat
断点位于列表中
(gdb) info breakpoints Num Type Disp Enb Address What 1 breakpoint keep y 0x00002aaaaf810ea0
但是,如前所述,执行期间gdb在调用lstat函数时不会停止。 请注意,我确信lstat是由PHP引擎调用的,因为我可以使用strace看到调用。
请帮帮我,gdb有什么问题?
答案 0 :(得分:3)
尝试在lstat系统调用
上设置catchpoint(gdb) catch syscall lstat
Catchpoint 1 (syscall 'lstat' [107])
(gdb)
您需要gdb 7.0或更高版本
答案 1 :(得分:0)
strace
向您显示PHP正在调用系统调用lstat
,但您的断点实际上是在库函数lstat()
上。它可能是一个直接调用lstat
系统调用的不同库调用。
ltrace
显示什么?