29

我知道如何使用 node-inspector 和 iisnode 调试 http 应用程序。但是我可以使用 node-inspector在 Windows 上调试非 http节点应用程序吗?

我试过了:

 node debug test.js

它说:

debugger listening on port 5858

但是在 Chrome 中打开http://localhost:5858/并没有做任何事情。


顺便说一句:运行node debug test.js确实会启动有效的命令行调试器。但这与节点检查器完全不同。

4

7 回答 7

63

要使用节点检查器,正确的开关node --debug不是node debug

以下是详细步骤:

  1. 全局安装 node-inspector ( npm install -g node-inspector)
  2. 从命令行窗口运行:node-inspector
  3. 打开 Chrome 并转到http://localhost:8080/debug?port=5858. 您将获得节点检查器 UI,但没有任何正在运行的应用程序。
  4. 从另一个命令行窗口,使用如下--debug开关运行您的应用程序:node --debug test.js
  5. 刷新 Chrome 标签,瞧!

几个有趣的点:

  • 如果你杀死你的应用程序并重新启动它,只需刷新节点检查器选项卡。它会保留你所有的断点。
  • 要在第一行自动中断,请使用以下命令启动您的应用程序node --debug-brk test.js
于 2012-07-13T02:17:56.540 回答
2

一些可能对您有帮助的链接:

于 2012-07-11T17:33:09.350 回答
2

它说:调试器正在侦听端口 5858

我对此感到疑惑,但由于 Node.js 文档表明调试器可以通过简单的 TCP 协议访问,并且没有说明 HTTP,我的猜测是不,它不会在 _http://localhost:5858 上可用。

“V8 带有一个广泛的调试器,可以通过简单的 TCP 协议在进程外访问” - http://nodejs.org/api/debugger.html

于 2012-07-11T18:16:09.770 回答
1

最近微软发布了用于 Visual Studio 的 node.js 工具。它为 node.js 提供了非常舒适的 Visual Studio 调试。

于 2013-11-25T11:14:42.447 回答
0

节点检查器可能会很有帮助。

在任何支持 websockets 的浏览器中使用它。

断点、分析器、实时编码等。

http://erickrdch.com/2012/09/debug-a-nodejs-app-with-chrome-dev-tools.html

于 2013-01-09T10:15:04.907 回答
0

仅供参考,在 OSX 10.8 中,Chrome v26 似乎不起作用,但 Safari 6 确实使用与上述相同的指令并使用 0.0.0.0:8080 进行连接。

Danny Coates 在某处的另一篇文章中说按以下顺序进行操作:

  1. 你的节点进程: node --debug (or --debug-brk) my_program.js
  2. 节点检查器:节点检查器
  3. 浏览器指向 0.0.0.0:8080
于 2013-03-13T00:24:10.007 回答
0

如果您像我一样在 Windows 上是菜鸟,并且收到“无法识别节点检查器”或有关 Windows JScript 错误的信息……尽管进行了全局安装、添加到 PATH 等,那么这可能会有所帮助。

导航到 C:\Users\urusername\AppData\Roaming\npm

然后运行 ​​node-debug.cmd 或 node-inspector.cmd

你应该得到像

Node Inspector v0.12.7
Visit http://127.0.0.1:8080/?port=5858 to start debugging.
Debugger listening on port 5858

惊人的。如果您知道更好的解决方案,请告诉我

于 2016-04-07T02:57:40.860 回答