我正在尝试使用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中点击所需的断点。
有人能指出我在哪里做错了吗?什么是我的用例的最佳解决方案?