bor*_*net 41 node.js node-debugger
当我使用时--nolazy,我最终可以与IntelliJ异步调试,因为断点停在正确的位置.但我找不到任何关于--nolazy...的文档
什么--nolazy意思?
bor*_*net 64
让任何人都知道,如果您调试节点js(特别是远程调试)并使用您需要的异步类型编码,因为这是节点的本质,您将运行带有-nolazy标志的节点
node --nolazy --debug-brk sample1.js
Run Code Online (Sandbox Code Playgroud)
这将迫使V8引擎完成代码的完整编译,从而与IntelliJ和WebStorm正常工作,这样您就可以在代码中正确放置断点而不必使用;调试器; v8寻找的字符串......
希望这有助于某人,当然可以帮助我:)
肖恩.
正如其他人所说,你可以看到v8的命令行选项
node --v8-options
Run Code Online (Sandbox Code Playgroud)
在那里,您可以看到以下列表--lazy:
--lazy (use lazy compilation)
type: bool default: true
Run Code Online (Sandbox Code Playgroud)
v8使用一种相当常见的方式来描述布尔值 - 将标志前缀no设置为false,并仅使用标志设置为true.因此--nolazy将lazy标志设置为false.
注意:node使用稍微不同的约定 - 在那里,您使用no-前缀(注意破折号)将bools设置为false.例如,--no-deprecation是node一面旗帜.
小智 6
请参阅:https : //vscode-docs.readthedocs.io/en/stable/editor/debugging/
出于性能原因,Node.js首次访问时会延迟解析JavaScript文件中的函数。结果,断点在Node.js尚未发现(解析)的源代码区域中不起作用。
由于此行为不是调试的理想选择,因此VS Code自动将--nolazy选项传递给Node.js。这样可以防止延迟的分析,并确保可以在运行代码之前验证断点(因此它们不再“跳转”)。
由于--nolazy选项可能会大大增加调试目标的启动时间,因此您可以通过传递--lazy作为runtimeArgs属性来轻松选择退出。
| 归档时间: |
|
| 查看次数: |
10320 次 |
| 最近记录: |