Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用节点检查器调试node.js_Node.js_Node Inspector - Fatal编程技术网

使用节点检查器调试node.js

使用节点检查器调试node.js,node.js,node-inspector,Node.js,Node Inspector,我正在尝试使用节点检查器调试我的nodejs应用程序。但是谷歌浏览器没有显示代码 我用的是 Node.js:v0.10.26 快车:4.0.0 节点检查员:v0.7.3 谷歌浏览器版本:34.0.1847.131 这就是我启动调试器所做的 $ node-inspector Node Inspector v0.7.3 Visit http://127.0.0.1:8080/debug?port=5858 to start debugging. 在另一个控制台中 $ node --debug ap

我正在尝试使用节点检查器调试我的nodejs应用程序。但是谷歌浏览器没有显示代码

我用的是

Node.js:v0.10.26

快车:4.0.0

节点检查员:v0.7.3

谷歌浏览器版本:34.0.1847.131

这就是我启动调试器所做的

$ 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
$
然后启动Google Chrome并转到

http://127.0.0.1:8080/debug?port=5858
它会打开节点检查器,但没有任何代码。所有窗口均为空

注意到我没有得到“Express server侦听端口3000”

尽了全力,但运气不佳

不知道我错过了什么。如果您有任何建议,我将不胜感激。这样我就可以在Google Chrome中调试我的Node.js应用程序了。

在节点检查器的左侧,“源”选项卡上有“一个包含三角形的框”-突出显示为“显示导航器”。(见上图)。打开它以查找要调试的文件,并在尚未运行的代码上设置断点

另外请注意,如果要调试在启动节点上运行的代码,则需要在启动时使用
--debug brk
选项。然后,在Node Inspector中,您必须启动应用程序(
F8
才能运行所有应用程序)。如果要调试所有初始化代码,如启动web浏览器,则需要此选项。

尝试运行
节点--debug brk app.js
,而不仅仅是
--debug
。在节点检查器钩住节点进程之前,应用程序可能不会暂停。使用
--debug brk
将强制节点在应用程序的第一行中断,并等待调试器连接到进程。加载节点检查器web界面是导致节点检查器附加到节点进程的原因;这就是为什么在查询字符串中包含节点调试端口(localhost:8080/debug?port=5858)。您正在告诉节点检查器它应该连接到哪个端口

这是我放在一起的动画gif,显示了node inspector的完整安装和运行

在gif中,我使用
--debug
标志,因为我没有调试任何在启动时正确运行的代码。我正在一个请求处理程序中调试,它只在请求页面时启动。因此,刷新页面会导致节点检查器在该行中断

不久前,我还制作了一个15分钟的YouTube教程


我希望这有帮助

默认情况下,节点检查器尝试在启动调试窗口之前预加载所有代码。我有过一些实例,节点检查器因为这个预加载而永远挂起。幸运的是,新版本有一个停止预加载的选项,从而使检查器加载更快


尝试
节点检查器--在节点6.5中,没有预加载标准远程调试被完全破坏。但是,它被一个新的内部节点功能所取代

$ 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.
请参阅此处--有关更多信息

节点调试--无预加载app.js

这就是我的工作。根据:

我的脚本运行太快,无法连接调试器

调试的进程必须以--debug brk启动,这样 脚本在第一行暂停

注意:节点调试默认情况下为您添加此选项

--debug brk
现在已不推荐使用

尝试
节点--检查brk
然后转到chrome并键入url
chrome://inspect
并单击
打开节点的专用开发工具

调试器将启动,无需节点检查器

1。尝试使用--no preload选项运行节点检查器。2。检查Chrome的DevTools控制台-有任何错误吗?谢谢Alex,我以前看过你的youtube视频。非常有用,谢谢--debug brk帮了我的忙..然而..当我在一条路由中设置断点时。在我的例子中,我正在尝试使用ChereIO+请求来刮取一个网站。我已经创建了一个路由,比如scrape.js,我希望调试这个文件..但它没有达到断点..我遗漏了什么吗?我不确定。没有代码示例很难知道。您能否将运行到a中声明该路由的点的所有代码与您导航到的URL一起粘贴以触发请求处理程序?@AlexFord:您是如何创建此gif的?我觉得它真的很酷&可能会很酷helpful@SharpCoder我曾经录过一段视频。在他们的高级导出选项中,您可以选择动画gif。@SutikshanDubey请参阅。进入步骤3时,确保使用的是
节点检查器
命令,而不是
节点调试
命令。
node debug
命令运行脚本并启动node inspector服务器。您只想启动服务器,而不是启动脚本。然后,您可以使用
--debug brk
标志单独启动脚本。感谢Clay,--debug brk似乎已经起作用了。虽然它最初不起作用。但是在尝试了几次之后。它确实……非常有用!我也有这个愚蠢的挂起问题,当我宁愿直接点击断点。谢谢你的提示!你刚刚救了我一天!不再需要节点检查器了。嗯,在我的例子中,它会给我一个以“ws://”开头的URL。。。这台机器是一台无头服务器,所以我传递了host:port选项,但仍然无法在我的本地Chrome实例中打开“ws://”URL