用node-inspectordebuggingnode.js
我正在尝试使用节点检查器来debugging我的nodejs应用程序。 但谷歌浏览器不显示代码。
我正在使用以下,
Node.js:v0.10.26
Express:4.0.0
节点检查器:v0.7.3
Google Chrome版本:34.0.1847.131
这是我正在做的启动debugging器..
$ node-inspector Node Inspector v0.7.3 Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.
在另一个控制台,
$ node --debug app.js debugger listening on port 5858 $
然后开始谷歌浏览器,并去
http://127.0.0.1:8080/debug?port=5858
它打开节点检查器,但没有任何代码..所有的窗口是空的。
注意到我没有得到“Express服务器在端口3000上侦听”
尝试所有的节点检查员无法连接到节点,但没有运气
无法解决我错过的东西。 这将是伟大的你有任何build议..所以我可以在Google Chrome中debugging我的Node.js应用程序。
尝试运行node --debug-brk app.js
而不是仅仅--debug
。 在节点检查器挂钩到节点进程之前,您的应用程序可能不会暂停。 使用--debug-brk
将强制节点在应用程序的第一行中断,并等待debugging器附加到进程。 加载节点检查器Web界面是导致节点检查器附加到您的节点进程的原因; 这就是为什么在查询string(localhost:8080 / debug?port = 5858)中包含节点debugging端口的原因。 你告诉节点检查员它应该伸出和连接到什么端口。
这是一个animationgif,我放在一起显示了一个完整的安装和运行节点检查器。
在gif中,我使用了--debug
标志,因为我没有debugging在启动时运行的任何代码。 我正在debugging请求处理程序,只有在请求页面时才会触发。 因此,刷新页面会导致节点检查器在该行上中断。
前段时间,我还制作了15分钟的YouTube教程。
我希望有帮助!
在默认情况下,节点检查器尝试在启动debugging窗口之前预加载所有代码。 我有过实例,node-inspector只是挂起,因为这个预加载。 幸运的是,新版本可以select停止预加载,从而使检查器加载速度更快。
尝试node-inspector --no-preload
标准的远程debugging在节点6.5中完全被打破。 它被replace为新的内部节点function
$ node --inspect --debug-brk build/server/server.js Debugger listening on port 9229. Warning: This is an experimental feature and could change at any time. To start debugging, open the following URL in Chrome: chrome-devtools://devtools/remote/serve_file/@62cd277117e6f8ec53e31b1be58290a6f7ab42ef/inspector.html?experiments=true&v8only=true&ws=localhost:9229/node Debugger attached.
看到这里 – http://arveknudsen.com/?p=346%3Fpage_id%3D346&print=pdf – 更多信息
在“节点检查器”左侧的“Sources”选项卡中,有一个“带有三angular形的框” – 突出显示“Show Navigator”。 (见上图)。 打开find要debugging的文件,并在尚未运行的代码上放置一个断点。
另外请注意,如果您要debugging在起始节点上运行的代码,则在启动时需要使用--debug-brk
选项。 然后,在Node Inspector中,您将不得不启动应用程序( F8
运行全部)。 如果要debugging所有初始化代码(如启动Web浏览器),则需要此选项。