node js脚本崩溃:进程以退出代码139结束(被信号11中断:SIGSEGV)

时间:2016-09-16 21:27:26

标签: javascript node.js segmentation-fault objdump

我的脚本崩溃,调试器无法捕获错误。我甚至试图尝试捕捉一些功能,但它没有用。

有任何建议如何缩小问题的范围?

该脚本是游戏的测试脚本。它适用于以前的游戏,但对于新游戏,有一些新的情况。不幸的是我无法知道错误在哪里。可能是从服务器收到唯一的案例对象。

脚本正在测试服务器并将输出写入控制台或文件。在这两种情况下都会发生错误。

错误:Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

编辑:

这里是SegfaultHandler输出:

PID 2645 received SIGSEGV for address: 0x0 0 segfault-handler.node 0x00000001034ae1c8 _ZL16segfault_handleriP9__siginfoPv + 280 1 libsystem_platform.dylib 0x00007fff9364b52a _sigtramp + 26 2 ??? 0x0000000000000010 0x0 + 16 3 node 0x000000010067bbdc _ZN2v88internal23Runtime_GetFrameDetailsEiPPNS0_6ObjectEPNS0_7IsolateE + 2364 4 ??? 0x00000a107710961b 0x0 + 11065833330203 5 ??? 0x00000a107795c134 0x0 + 11065842057524

1 个答案:

答案 0 :(得分:3)

退出代码(139)表示发生了分段错误(128 + 11(对于段错误))。

您可以使用segfault-handler模块调试分段错误。您可以像这样使用它:

var SegfaultHandler = require('segfault-handler');

SegfaultHandler.registerHandler("crash.log"); // With no argument, SegfaultHandler will generate a generic log file name

// Write the cause that causes the segmentation fault here

您应该看到一个堆栈跟踪,您现在可以使用objdump -dS module.node等工具进行调试。

objdump显示有关一个或多个目标文件的信息。