如何在Windows上debugging一个基本的node.js应用程序(不是http)

我知道如何使用node-inspector和iisnode来debugginghttp应用程序。 但是,我可以使用节点检查器debugging一个非HTTP节点应用程序,在Windows?

我试过了:

node debug test.js 

它说:

 debugger listening on port 5858 

但在Chrome中打开http://localhost:5858/不会执行任何操作。


顺便说一句:运行node debug test.js确实启动的工作的命令行debugging器。 但它不像节点检查员。

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

以下是详细的步骤:

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

一些有趣的观点:

  • 如果你杀了你的应用程序并再次启动,只需刷新节点检查器选项卡。 它会保持你所有的断点。
  • 要在第一行自动中断,请使用node --debug-brk test.js启动您的应用程序

它说:侦听端口5858的debugging器

我自己想知道这个,但自从Node.js文档指出debugging器可以通过一个简单的TCP协议访问,并没有提到任何有关HTTP我猜是不是,它不会在_http:// localhost:5858。

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

微软最近发布了Visual Studio的node.js工具 。 它有非常舒适的Visual Studiodebuggingnode.js。

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

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

断点,分析器,活代码等。

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

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

Danny Coates在另一篇文章中说,要按以下顺序进行:

  1. 你的节点进程:node –debug(或者–debug-brk)my_program.js
  2. 节点检查员:节点检查员
  3. 浏览器指向0.0.0.0:8080

如果你在Windows上是一个像我这样的noob,并且你得到'node-inspector not recognized'或者一些关于windows JScript的错误…尽pipe全局安装,添加到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 

真棒。 如果你知道更好的解决scheme,请让我知道