【问题标题】:Segmentation fault in PHP extensionPHP 扩展中的分段错误
【发布时间】:2014-01-03 05:09:05
【问题描述】:

我已经使用本教程http://devzone.zend.com/1435/wrapping-c-classes-in-a-php-extension/ 用 c++ 编写了一个 PHP 扩展。在我的扩展中,我正在创建线程并执行 mysql 查询。代码运行良好,但运行后我收到此错误“分段错误(核心转储)”。

我尝试了“gdb”调试器,我得到了这个

"程序收到信号SIGSEGV,分段错误。 [切换到线程 0x7ffff7eb2700 (LWP 11985)]"

让我知道我找到导致此问题的任何方法。

【问题讨论】:

  • “代码运行良好,但运行后我收到此错误“分段错误(核心转储)”。 - 这是“好”这个词的一个奇怪的工作定义。如果您运行 gdb,它应该在引发异常时停止,并且这样做会使您接触到攻击时当前的调用堆栈和变量条件/值。您已经经历了在调试器中运行的麻烦(很好)。现在剩下的就是实际调试
  • 程序执行结束时出现分段错误

标签: c++ gdb php-extension


【解决方案1】:

您可以在 gdb 中使用bt full 命令来检查调用堆栈。请确保您已使用 -O0 -g 标志编译了您的扩展,并已与 -g 标志链接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-04
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 2015-06-06
    • 2012-08-19
    • 2018-11-26
    相关资源
    最近更新 更多