t.j*_*.j. 6 windows debugging node.js visual-studio-code
在Win10中。VS Code、帮助、关于...
[窗口标题]
Visual Studio Code
[内容]
版本 1.14.2
提交 cb82febafda0c8c199b9201ad274e25d9a76874e
日期 2017-07-19T23:34:09.706Z
Shell 1.6.6
渲染器 56.0.2924.87
节点 7.4.0
生成launch.json并根据我的runtime...设置进行调整
{
// Use IntelliSense to learn about possible Node.js debug attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"cwd": "${workspaceRoot}",
"runtimeExecutable": "npm.cmd",
"runtimeArgs": [
"run", "functional-test"
],
"skipFiles": [
"<node_internals>/**/*.js"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
上面引用的 Npm 脚本...
"functional-test": "node test/functional/run-foo-tests",
Run Code Online (Sandbox Code Playgroud)
然后我启动一个调试会话 (F5),然后在调试控制台中生成...
使用检查器协议进行调试,因为设置了运行时可执行文件。
npm.cmd --inspect=32825 --debug-brk 运行功能测试
请注意我的 package.json 或 launch.json 中未指定的其他标志。
除了上面的消息之外,IDE 中还显示一个弹出窗口,引用连接超时错误...
无法连接到运行时进程,10000 毫秒后超时 - (原因:无法连接到目标:连接 ECONNREFUSED
如果我按如下方式更改 npm 脚本(包括--inspect标志)...
"functional-test": "node --inspect test/functional/run-foo-tests",
Run Code Online (Sandbox Code Playgroud)
调试控制台指出...
使用检查器协议进行调试,因为设置了运行时可执行文件。
npm.cmd --inspect=17976 --debug-brk 运行功能测试
调试器侦听端口 9229。
警告:这是一项实验性功能,可能随时更改。
注意不同的端口设置。至少调试器正在启动并给我一个端口来尝试和定位。
它从哪里获得这些值?如何使它们匹配(无需手动编辑 launch.json 和 npm 脚本来为两者分配相同的端口)?
它从未成功加载,而是在顶部显示弹出消息(如上所述。)
如果我编辑 npm 脚本来添加端口...
"functional-test": "node --inspect=9229 test/functional/run-foo-tests",
Run Code Online (Sandbox Code Playgroud)
并编辑 launch.json 的port设置以匹配...
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"cwd": "${workspaceRoot}",
"runtimeExecutable": "npm.cmd",
"runtimeArgs": [
"run", "functional-test"
],
"port": 9229,
"skipFiles": [
"<node_internals>/**/*.js"
]
}
]
Run Code Online (Sandbox Code Playgroud)
然后,我在调试控制台中收到以下消息......
使用检查器协议进行调试,因为设置了运行时可执行文件。
npm.cmd 运行功能测试
调试器侦听端口 5858。
警告:这是一项实验性功能,可能随时更改。
{预期的控制台输出...}
然后它将正常工作(据我所知!)请注意,现在调试控制台的第二行(回显/记录运行的命令)现在与设置匹配launch.json runtimeArgs(在第一次和第二次尝试中没有匹配。)
除了反复试验、敲碎头骨的蛮力之外,人们还应该如何解决这个问题(当然肯定有更好的方法?)
node ...尝试为 npm 脚本调用(显然与npm 脚本中的调用不同)和port配置参数设置端口,但如第一个示例所示,它失败了。
"runtimeArgs": [
"run", "functional-test", "--inspect=5858"
],
"port": 5858,
Run Code Online (Sandbox Code Playgroud)
当然,当我写这篇文章时,我终于通过谷歌找到了类似的答案......
"scripts": {
"debug": "node --nolazy --debug-brk=5858 myProgram.js"
},
Run Code Online (Sandbox Code Playgroud)
调整我的脚本以匹配产量(在调试控制台中)...
使用检查器协议进行调试,因为设置了运行时可执行文件。
npm.cmd 运行功能测试
(节点:12420) DeprecationWarning:node --debug 已弃用。请改用node --inspect。
调试器监听 127.0.0.1:5858
我还在顶部显示了一个不同的弹出窗口......
无法连接到运行时进程,10000 毫秒后超时 - (原因:无法连接到目标:解析错误)。
如果我更改脚本以匹配调试控制台中的信息...
"functional-test": "node --nolazy --inspect test/functional/run-foo-tests",
Run Code Online (Sandbox Code Playgroud)
调试控制台说...
使用检查器协议进行调试,因为设置了运行时可执行文件。
npm.cmd 运行功能测试
调试器侦听端口 9229。
警告:这是一项实验性功能,可能随时更改。
弹出窗口是...
无法连接到运行时进程,10000 毫秒后超时 - (原因:无法连接到目标:连接 ECONNREFUSED 127.0.0.1
| 归档时间: |
|
| 查看次数: |
1380 次 |
| 最近记录: |