【问题标题】:What does the Node.js `--nolazy` flag mean?Node.js `--nolazy` 标志是什么意思?
【发布时间】:2014-02-27 08:44:49
【问题描述】:

当我使用--nolazy 时,我终于可以使用 IntelliJ 进行异步调试,因为断点会停在正确的位置。但我在--nolazy 上找不到任何文档...

--nolazy 是什么意思?

【问题讨论】:

    标签: node.js node-debugger


    【解决方案1】:

    运行

    node --v8-options
    

    它会显示所有可用的标志。

    顺便说一句:我为你找到的最接近的标志是

    --lazy
    

    意思是惰性编译,我相信这个名字很明显

    【讨论】:

      【解决方案2】:

      正如其他人所说,您可以查看 v8 的命令行选项

      node --v8-options
      

      在那里,您可以看到--lazy 的列表:

      --lazy (use lazy compilation)
            type: bool  default: true
      

      v8 使用一种相当常见的方式来描述布尔值 - 在标志前面加上 no 以设置为 false,并仅使用标志设置为 true。所以--nolazylazy 标志设置为false。

      注意:node 使用稍微不同的约定 - 在那里,您使用 no- 前缀(注意破折号)将 bools 设置为 false。例如,--no-deprecationnode 标志。

      【讨论】:

        【解决方案3】:

        为了让任何人知道,如果您调试节点 js(尤其是远程调试)并使用您必须使用的异步类型编码,因为这是节点的本质,您将使用 -nolazy 标志运行节点

        node --nolazy --debug-brk sample1.js
        

        这将强制 V8 引擎对代码进行完整编译,从而与 IntelliJ 和 WebStorm 一起正常工作,这样您就可以在代码中正确放置断点,而不必使用 ;debugger; v8 查找的字符串...

        希望这对某人有所帮助,当然对我有所帮助:)

        肖恩。

        【讨论】:

        • 请注意,标志 debug-brk 不再受支持。而是使用新标志 inspect-brkinspect-brk=9229,其中 9229 是您希望调试器启动的端口号。
        【解决方案4】:

        参考: https://vscode-docs.readthedocs.io/en/stable/editor/debugging/

        出于性能原因,Node.js 在首次访问时会延迟解析 JavaScript 文件中的函数。因此,断点在 Node.js 未看到(解析)的源代码区域中不起作用。

        由于这种行为不适合调试,VS Code 会自动将 --nolazy 选项传递给 Node.js。这可以防止延迟解析并确保可以在运行代码之前验证断点(因此它们不再“跳转”)。

        由于 --nolazy 选项可能会显着增加调试目标的启动时间,您可以通过将 --lazy 作为 runtimeArgs 属性轻松选择退出。

        【讨论】:

          【解决方案5】:
          • 问题:当你想在ide中设置断点来调试nodejs中的js代码时,一些breakpoints不起作用。

          • 原因: 在启动时,node 会懒惰地解析代码,这意味着它没有看到完整的代码。所以它看不到所有的断点。

          • 解决方案:使用--no-lazy选项来开启节点的惰性行为。

          (ps:我尽量解释得通俗些,可能不太准确。)

          【讨论】:

            猜你喜欢
            • 2014-06-04
            • 2020-09-25
            • 1970-01-01
            • 1970-01-01
            • 2011-04-29
            • 2012-11-10
            • 2022-01-14
            • 2013-05-01
            • 2014-03-19
            相关资源
            最近更新 更多