【问题标题】:Cannot use 'autoAttachChildProcesses' to debug forked processes无法使用“autoAttachChildProcesses”调试分叉进程
【发布时间】:2019-10-24 18:34:41
【问题描述】:

我无法调试分叉节点进程

分叉的进程启动并按预期运行;但是,调试器不会在分叉代码的断点处暂停。

悬停在断点上会显示Unverified breakpoint 工具提示。此外,Debug 活动栏显示Breakpoint set but not yet bound

我有 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()

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2013-05-26
      • 1970-01-01
      • 1970-01-01
      • 2017-06-29
      • 2021-02-16
      • 2014-07-19
      • 2011-04-16
      • 2023-01-30
      相关资源
      最近更新 更多