【发布时间】:2014-06-07 09:00:35
【问题描述】:
我有一个用 C++ 编写的 node.js 模块,它为 C++ 库提供了一些绑定。该库因 SIGSEGV 崩溃,因此我需要使用 GDB 对其进行调试并找出问题所在。
我已经在./node_modules/somelib/ 中找到了模块的源代码,如果我转到该文件夹并输入npm install,则该库已编译并可通过 node.js 中的 require('somelib') 使用。我可以将 gdb 附加到节点并重现错误,但在堆栈跟踪中我只看到node_modules/somelib/Release/somelib.node。
我不确定这是否重要,但该库是使用 node-gyp 编译的。
- 问题一:如何加载源代码或将gdb指向源代码?
-
问题 2:如何配置
node-gyp以生成调试符号?
【问题讨论】:
-
This blog post 涵盖了一些东西,包括需要将你的
require调用从.../Release/...修改为require('./ObjModule/build/Debug/objModule'),以及这里提到的步骤:node-gyp configure --debug然后node-gyp build --debug -j 8