无法使用“ autoAttachChildProcesses”来调试分叉的进程

时间:2019-06-10 10:54:58

标签: node.js visual-studio-code vscode-debugger

我无法调试分叉的节点进程

分支过程启动并按预期方式运行;但是,调试器不会在派生代码的断点处暂停。

将鼠标悬停在断点上会显示Unverified breakpoint工具提示。另外,“调试”活动栏显示Breakpoint set but not yet bound

enter image description here

我有2个javascript文件。第一个分叉另一个:

index.js

const child_process = require("child_process");
console.log(process.argv[0]);

process.execArgv.push('--debug=' + (40895));    
child_process.fork('./m1.js');

m1.js

console.log(`from fork: ${process.argv[0]}`);

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "run.vscode",
            "program": "${workspaceFolder}/index.js",
            "autoAttachChildProcesses": true
        }
    ]
}

我正在使用节点v10.16.0,该问题在vscode 1.36.0-insider1.34.0中是可重现的;在Windows 10或WSL中使用Remote - WSL扩展名。

autoAttachChildProcesses是否甚至child_process.fork()也支持cluster.fork()属性?

1 个答案:

答案 0 :(得分:0)

我通过将--inspect-brk标志通过execArgv方法的fork()选项来使其工作:

child_process.fork('./m1.js', [], {execArgv:['--inspect-brk=40895']});

在我在GitHub上发表的相应问题中查看更多详细信息。