【问题标题】:node-debug: why can't I set a breakpoint?节点调试:为什么我不能设置断点?
【发布时间】:2017-04-05 09:09:03
【问题描述】:

我正在使用 node-debug 并且知道我要为其设置断点的文件和行。

发生了什么:

debug> setBreakpoint('./services/search.js', 359) Warning: script './services/search.js' was not loaded yet. You can't list source code right now

为什么我不能“列出源代码”?如何动态添加断点(无需编辑源代码添加debugger)?

我尝试了其他工具进行调试,并且很想使用 Chrome 开发工具,但由于我们的项目卡在 v0.12.3 上,因此我认为这是不可能的。

另外,一些选项是有限的/棘手的,因为我正在使用带有无头 VM 的 Vagrant。

【问题讨论】:

  • node-inspector 应该适用于 0.12。 (在节点 >= 6 中,请改用内置的node --inspect。)
  • @josh3736 我尝试了节点检查器,但它似乎无法正常工作。如果我在第一行使用 console.log 制作一个简单的程序,则不会记录任何内容。而且,在虚拟机中,如果我 curl localhost:8080,没有响应
  • 使用节点检查器,我很确定console.loged 的东西会出现在标准输出中(像往常一样),而不是检查器控制台。此外,您的测试脚本可能会在您有机会连接调试器之前完成。我会在一个窗口中运行node-inspector,然后在另一个窗口中运行node --debug-brk myscript.js。然后您可以在网络浏览器中打开检查器并开始执行。
  • @josh3736 使用节点检查器,标准输出中没有显示任何内容。而且我的小测试脚本有 debug 行,所以不需要 --debug-brk 。我正在尝试使用一个小脚本:var x = 2; console.log(x); debugger; x = 3; console.log(x);console.log('done'); 也尝试使用大型 Express 应用程序。
  • debugger 如果在执行该行时没有 attached 调试器,则语句无效 - 所以是的,--debug-brk 是您的测试脚本所必需的。 (虽然奇怪的是您的日志没有显示在标准输出上...​​process.stdout.write?)

标签: node.js debugging remote-debugging node-debugger


【解决方案1】:

这在节点 6 中仍然是一个问题。

网上关于它的资料很少,很可惜。

但是,node --inspect 然后使用 Chrome 确实 工作。

【讨论】:

    猜你喜欢
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    • 2011-05-20
    • 2018-05-22
    相关资源
    最近更新 更多