Node.js nodejs,如何使用GDB进行调试

Node.js nodejs,如何使用GDB进行调试,node.js,gdb,Node.js,Gdb,在谷歌搜索后,我找到了下面在nodejs应用程序上执行gdb的方法, 使用./configure--debug选项构建节点,然后执行以下操作 gdb --args ~/node_g start.js 用这个我试着调试一个小程序,但是在设置了断点之后,我看不到它在该函数中被破坏 我的简单程序gdb_node.js如下所示: function abc() { console.log("In abc"); } function bcd() { abc(); con

在谷歌搜索后,我找到了下面在nodejs应用程序上执行gdb的方法, 使用./configure--debug选项构建节点,然后执行以下操作

  gdb --args ~/node_g start.js
用这个我试着调试一个小程序,但是在设置了断点之后,我看不到它在该函数中被破坏

我的简单程序gdb_node.js如下所示:

 function abc() {
    console.log("In abc");
 }

 function bcd() {
    abc();
    console.log("Done abc");
 }

 bcd();
现在我发布gdb:

(gdb) b bcd
 Function "bcd" not defined.
 Make breakpoint pending on future shared library load? (y or [n]) y
 Breakpoint 1 (bcd) pending.
 (gdb) run
 Starting program: /Users/mayukh/node_g gdb_node.js
 Reading symbols for shared libraries  
++++徖。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。完成

 In abc
 Done abc

 Program exited normally.
 (gdb) 
有人能告诉我我错过了什么吗

问候,,
-m/< p> < p> <代码> gdB < /Cord>试图从C++源生成的调试信息中查找<代码> BCD< /Cult>符号。看来你实际上是想调试JavaScript而不是C++。 V8具有内置调试器,node.js具有用于调试器的

要在调试器客户端连接到程序时启动node.js,请执行以下操作:

node inspect test.js
可以使用调试器设置断点:

=

sh-3.2$node inspect test.js
<调试器正在端口5858上侦听
连接。。。好啊
闯入测试。js:11
9 }
10
11 bcd();
12
13 });
调试>c
闯入测试。js:6
4.
5函数bcd(){
6调试器;
7 abc();
8控制台日志(“完成abc”);
调试>

V8调试器也有GUI客户端:,其他的也可以试试。这是一个基于Node Inspector的类似GDB的调试器。我已经使用了一年多,效果很好。我可以确认它可以与NodeJS V8到v14一起使用。

Node V8建议使用
Node inspect
而不是
Node debug
sh-3.2$ node inspect test.js
< debugger listening on port 5858
connecting... ok
break in test.js:10
  8 }
  9
 10 bcd();
 11
 12 });
debug> sb(6)
  5 function bcd() {
* 6   abc();
  7   console.log("Done abc");
  8 }
  9
 10 bcd();
 11
 12 });
debug>
 function abc() {
    console.log("In abc");
 }

 function bcd() {
    debugger;
    abc();
    console.log("Done abc");
 }

 bcd();
sh-3.2$ node inspect test.js
< debugger listening on port 5858
connecting... ok
break in test.js:11
  9 }
 10
 11 bcd();
 12
 13 });
debug> c
break in test.js:6
  4
  5 function bcd() {
  6   debugger;
  7   abc();
  8   console.log("Done abc");
debug>