【问题标题】:gdb unable to break on lstat callgdb 无法中断 lstat 调用
【发布时间】:2010-07-21 23:29:46
【问题描述】:

我正在调试 PHP 5.2.9,一切正常,但今天在调试过程中,我看到 gdb 在我设置时不会停止:

(gdb) 中断 lstat

断点在列表中

(gdb) 信息断点 Num 类型 Disp Enb 地址 什么 1个断点保持y 0x00002aaaaf810ea0

但是,如前所述,在执行期间 gdb 不会在调用 lstat 函数时停止。 请注意,我确定 lstat 是由 PHP 引擎调用的,因为我可以使用 strace 看到调用。

请帮帮我,gdb 出了什么问题?

【问题讨论】:

    标签: php c debugging gdb


    【解决方案1】:

    尝试在 lstat 系统调用上设置捕获点

    (gdb) catch syscall lstat
    Catchpoint 1 (syscall 'lstat' [107])
    (gdb)
    

    您将需要 gdb 7.0 或更高版本

    【讨论】:

      【解决方案2】:

      strace 显示 PHP 正在调用系统调用 lstat,但是您的断点实际上位于库函数 lstat() 上。可能是另一个库调用直接调用了lstat 系统调用。

      ltrace 显示什么?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-09-22
        • 1970-01-01
        • 2012-03-22
        • 1970-01-01
        • 2021-09-12
        • 2015-06-13
        相关资源
        最近更新 更多