如何在节点调试器中禁用"在第一行中断"

Gab*_*vay 44 debugging breakpoints node.js

是否有命令行参数或环境变量禁用节点调试器的"第一行中断"功能?

Mir*_*toš 32

节点中实际上有两个调试器概念:V8调试器(使用基于TCP的协议)和节点命令行调试器(CLI).

运行时node debug app.js,将在主节点进程中运行调试器CLI,并为调试的脚本(node --debug-brk app.js)生成新的子节点进程.选项--debug--debug-brk用于在子进程中打开V8调试器.

--debug和之间的区别在于--debug-brk后者在第一行添加断点,因此执行立即停止.

我建议你这个解决方案:

  1. 从Web服务器创建子进程时,请运行node --debug而不是node debug.这样,只创建了一个子进程,它正在运行您的应用程序,并且它不会在第一行暂停.

  2. 现在,您可以使用任何支持V8调试器协议的调试工具- 节点内置CLI调试器,节点检查器,或者您可以根据需要事件实现自己的调试器前端(GUI).(我认为这是你通过在后台运行CLI调试器来实现的目标吗?)

    如果您决定使用内置CLI,则只生成另一个子进程并告诉节点CLI调试器连接到步骤1中启动的进程:

    node debug localhost:5858

    并继续像以前一样.


Gab*_*vay 24

根据这个问题,我已经在节点 repo中打开了,目前,这是不可能的.这也是节点人员不认为值得实现的特性"因为它看起来毫无意义.[...]附加到正在运行的进程确实"完全相同".请参阅上述问题中的其余讨论.

如果您认为自己想要这样的功能,请对此进行投票,在Github问题中留言,如果没有回复,请打开一个新的并在此处发布.


jna*_*o52 8

在找到答案的同时找到了这个 - 似乎你可以简单地运行

node-debug --debug-brk=0 (progname)

希望这有助于某人.