【问题标题】:WebStorm Debugger for Node Stopping at Non Breakpoints用于在非断点处停止的节点的 WebStorm 调试器
【发布时间】:2015-07-16 21:38:30
【问题描述】:

在 WebStorm 中,我有一个 Node 应用程序,我只需点击调试,加载时调试器就会停在 node_modules 中一堆看似随机的行上。我可以继续浏览大约 5 个文件,直到找到一个 router/index.js 文件,该文件卡在一行上无数次。

显然,我在任何 node_modules 文件中都没有断点,WebStorm 也没有显示断点。然而,它每次都停止。我的解决方案是静音所有断点,等待应用程序加载,然后取消静音。但是,有时,如果我希望复选框检查并能够命中这些断点,我必须重新添加我的断点。在这一点上,我没有任何问题。知道为什么它会卡在没有断点的 node_modules 中吗?

【问题讨论】:

  • 事实上WebStorm调试工具只能在主js文件(你运行的js文件作为入口点)上运行良好,如果进入到需要的模块,往往就不起作用了,并且回调也可以阻止它。对于服务器代码,console.log 和日志文件可以成为你的朋友。

标签: node.js debugging breakpoints webstorm


【解决方案1】:

想出了一个解决方法。我选择了“查看断点”,虽然没有列出一直停止的点,但我只是删除了所有断点,现在我可以在不停止随机 node_modules 的情况下进行调试。

【讨论】:

  • 我也有这个问题,虽然这有帮助,但并不能完全解决问题。我仍然在随机节点模块中遇到一些完全荒谬的中断,这有时会使调试变得不可能,因为我必须按数百万次继续。
【解决方案2】:

在调试集群和工作线程时,我在 Webstorm 2017.2.4 中遇到了类似的问题。我有一个名为worker.js 的文件,其中有许多断点。当我通过 Webstorm 进行调试时,调试器正在提取它可以找到的名为 worker.js每个 文件,并在与“真实”worker.js 中标记的相同行号处中断。

目前唯一的解决方法是在调试时重命名文件。

【讨论】:

    【解决方案3】:

    有时文件中可能有隐藏的字符,这会使解析器感到困惑,并且在主文件中设置断点会导致随机行中断。

    确定您是否在同一文件的 webstorm 视图旁边打开了隐藏字符。

    在 vi...

    :set list
    :set number
    

    从文件顶部向下滚动查看每行的末尾,看看 $ 在 Webstorm 编辑器中向下移动同一行时是否不在您认为的位置。

    如果你发现类似...

    let j = 'hello' $
    

    在 vi 视图中,但看到

    let j = 'hello'^
    

    ^ 是您在 webstorm 中的光标,从光标中删除一个字符。它不会移动,一直到第一个可见字符被删除,然后放回去,移动到下一个出现。

    【讨论】:

      【解决方案4】:

      我也遇到过这个问题,通过将入口点代码移动到另一个文件来解决它,例如“lib/main.js”。

      index.js:

      module.exports = require('./lib/main');
      

      【讨论】:

        猜你喜欢
        • 2018-08-11
        • 2018-01-11
        • 2020-03-23
        • 2023-03-12
        • 1970-01-01
        • 2019-04-11
        • 2018-11-24
        • 2015-06-30
        • 2010-11-25
        相关资源
        最近更新 更多