为什么我在Intellij IDEA 11中调试nodejs应用程序失败

Why do I fail to debug a nodejs app in Intellij IDEA 11?

本文关键字:调试 nodejs 应用程序 失败 Intellij IDEA 为什么      更新时间:2023-09-26

我有一个单进程node.js应用程序,我希望用Intellij IDEA 11 32位调试它(node.js也是32位)。

因此,我放置了一个初始断点并运行。调试器在断点处停止,但随后它拒绝执行以下任何操作:

  • 步入
  • 转到另一个断点
  • 暂停执行

当我进入时,它似乎只是在运行,而没有遍历代码。一旦运行,它就会忽略任何后续的断点,并且在我按下暂停按钮时不会中断。

这个问题让我抓狂。关于我应该如何排除故障,有什么想法吗?

编辑

更多信息。IDEA在第一个断点(唯一成功的一次)中断后,我试图检查变量,但看不到任何变量。IDEA被困在"收集数据…"上,手表窗口也不起作用。

EDIT2

Justed向他们的错误跟踪系统发布了一个问题-http://youtrack.jetbrains.com/issue/IDEA-112925

我注意到IntelliJ的node.js调试器有点糟糕。这是1000刀的死亡。我非常喜欢IntelliJ,它是一个非常好的IDE。但对于node,调试器有一百万种不同的场景,其中断点不能正常工作,还有一百万种场景不能正确地让您访问范围内的变量值,还有一百万个场景不能正确执行。。。

我要去找另一个工具。。

更新2014-01-13:我已经使用IntelliJ的调试器一段时间了(没有发现其他好的工具)。它的一些问题似乎是node或v8本身的问题。我遇到的大多数问题要么已经被较新版本的IntelliJ解决,要么已经使用以下解决方法:

CCD_ 1。创建一个名为proxyDebug.js 的文件

CCD_ 2。在其中放入以下内容:

require('path/to/the/script/you/want/to/debug.js')

3。将调试器指向文件

显然,node.js调试挂钩在入口点脚本中会出现错误,因此,通过创建这个我们根本不关心的代理入口点,在您所关心的脚本中就不会出现任何奇怪的错误。这个变通方法修复的错误包括错过断点、调试器无法访问预定义变量(exportsmoduleprocess等),以及我记不清的一两件其他事情。

我尝试的上一个WebStorm版本(7.0.3)在收集数据方面确实花了很长时间,但最终还是有效的。如果它似乎粘在你身上,试着让它停留一分钟