调试通过VSCode中的child_process.fork分叉的node.js进程

时间:2017-11-23 23:20:08

标签: javascript node.js debugging visual-studio-code vscode-settings

我正在尝试使用VSCode调试使用child_process的fork方法分叉的Node脚本。

我几乎阅读了所有相关文档,讨论但没有任何成功。我不确定我做错了什么。

供您参考,我已将我的示例代码作为要点发布,可在以下网址找到:https://gist.github.com/dpnishant/43096af3fecde4ec9fdea7c1d81cf543

它包含三个文件:parent.js,child.js和launch.json(vscode配置)。我正在尝试设置2个断点:一个位于https://gist.github.com/dpnishant/43096af3fecde4ec9fdea7c1d81cf543#file-child-js-L4,另一个位于https://gist.github.com/dpnishant/43096af3fecde4ec9fdea7c1d81cf543#file-parent-js-L16

案例-1

当我使用“启动程序”配置单击“启动调试程序 g”时,我可以在parent.js上点击第16行断点但是另一个child.js中的断点永远不会被击中。

案例-2

当我使用“ Attach ”配置单击“开始调试”时,出现以下错误:

Debugging with legacy protocol because Node.js version could not be determined (Error: connect ECONNREFUSED 127.0.0.1:9999)

案例-3

当我在终端中启动node parent.js并立即切换到VSCode以使用“附加到进程”配置单击“开始调试”并选择节点使用“child.js”脚本进行处理,我能够在child.js的第4行命中断点,但到那时,循环已经开始,已经很晚了。

所以我的要求是一种方法,通过它我可以启动我的parent.js脚本,并在它开始执行时立即在child.js中点击所需的断点。

有人能指出我在哪里做错了吗?什么是我的用例的最佳解决方案?

0 个答案:

没有答案