首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用gdb调试nodejs插件

如何使用gdb调试nodejs插件
EN

Stack Overflow用户
提问于 2014-03-11 19:49:00
回答 3查看 2.8K关注 0票数 6

标题

我正在写一个Node.Js C++插件,当我试着通过在互联网上搜索的方式来调试我的c++插件时,它根本就不能工作。

我从互联网上得到的是gdb节点集args app.js运行

I get this /usr/local/bin/node":not in executable format:文件格式无法识别

在类型file /usr/local/bin/node之后

我得到了这个/usr/local/bin/node:具有2个架构的Mach-O通用二进制文件/usr/local/bin/node (对于架构i386):Mach-O可执行i386 /usr/local/bin/node (对于架构x86_64):Mach-O 64位可执行x86_64

我不知道为什么我的gdb告诉我节点不是可执行格式。

EN

回答 3

Stack Overflow用户

发布于 2015-06-07 22:08:19

您构建的node.js是否启用了调试功能?看起来您是在mac上,如果您使用的是自制软件安装模式,请尝试以下操作:

代码语言:javascript
复制
brew install nodejs --with-debug

然后尝试:

代码语言:javascript
复制
gdb --args /usr/local/bin/node app.js

此外,mac上的gdb已被弃用,取而代之的是lldb,因此您也可以尝试lldb:

代码语言:javascript
复制
lldb -- /usr/local/bin/node app.js
票数 7
EN

Stack Overflow用户

发布于 2018-07-04 22:30:36

如果你是一个VSCode用户,你可能会发现这很有帮助。

基本步骤如下:

为您的launch.json安装vscode插件

  1. 如下所示:

{ "version": "0.2.0", "configurations": [{ "type": "lldb", "request": "launch", "name": "Launch Program", "program": "/absolute/path/to/node", "args": [ "/absolute/path/to/your/index.js" ] }] }

然后像在VS代码中一样设置断点。

调试愉快!

如果你想要更详细的解释,我还在这里发表了一个详细的博客。

https://medium.com/@atulanand94/debugging-nodejs-c-addons-using-vs-code-27e9940fc3ad

票数 1
EN

Stack Overflow用户

发布于 2021-02-19 07:37:19

这对我很有效:

1.)删除.vscode/launch.json文件

2.)转到VSCode的Run选项卡,它现在会给你一个链接,名为"create a launch.json file“。点击它并选择"C++ (GDB/LLDB)“。

3.)现在按照Atul在他的回答中所描述的那样编辑"program“和"args”。生成的launch.json将如下所示:

代码语言:javascript
复制
"configurations": [
    {
        "name": "(lldb) Launch",
        "type": "cppdbg",
        "request": "launch",
        "program": "/usr/local/homebrew/bin/node",
        "args": ["${workspaceFolder}/test/test_binding.js"],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "console": "externalTerminal",
        "MIMode": "lldb"
    }
]

4.)通过取消引用C++插件中的无效指针来测试它。VSCode将在崩溃的行上自动中断。

此外,brew install nodejs --with-debug不再工作,也不再需要。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22324833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档