javascript - Node js 脚本崩溃 : Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

标签 javascript node.js segmentation-fault objdump

我的脚本崩溃了,调试器无法捕获错误。我什至尝试 try catch 一些函数,但它没有用。

有什么建议可以缩小问题的范围吗?

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

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

错误:进程已完成,退出代码为 139(被信号 11 中断:SIGSEGV)

编辑:

这是 SegfaultHandler 输出:

PID 2645 收到地址为 SIGSEGV: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

最佳答案

退出代码 (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显示有关一个或多个对象文件的信息。

关于javascript - Node js 脚本崩溃 : Process finished with exit code 139 (interrupted by signal 11: SIGSEGV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39540325/

相关文章:

c - Segmentation Fault a.k.a Bus Error,错误还是故障?

c - 使用指针打印值

javascript - 将多个背景图像转换为 Array Javascript

javascript - React JS 如何根据选中值数组来选中某些复选框

javascript - 使用多个文件时如何将函数保留在全局命名空间之外?

node.js - 如何编译 JSX 服务器端

javascript - 使用构造函数来构建一次性对象是否有原因?

node.js - 如何使用 youtube api 为私有(private) youtube 视频 "add participants"

javascript - Ramda JS 如何使用 2 个 json 文件映射特定值

arrays - 当我尝试初始化 100 个元素的一维数组并使用指针填充它时出现段错误(核心已转储)