如何在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 debug
不node debug
以下是详细的步骤:
- 全局安装node-inspector(
npm install -g node-inspector
) - 从命令行窗口运行:
node-inspector
- 打开Chrome并转到
http://localhost:8080/debug?port=5858
。 你会得到节点检查器的用户界面,但没有任何运行的应用程序。 - 从另一个命令行窗口中,使用
--debug
开关运行你的应用程序:node --debug test.js
- 刷新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在另一篇文章中说,要按以下顺序进行:
- 你的节点进程:node –debug(或者–debug-brk)my_program.js
- 节点检查员:节点检查员
- 浏览器指向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,请让我知道