首页 文章

使用node-inspector调试node.js

提问于
浏览
68

我正在尝试使用node-inspector调试我的nodejs应用程序 . 但Google Chrome不显示代码 .

我正在使用以下内容,

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
$

然后启动谷歌Chrome并前往

http://127.0.0.1:8080/debug?port=5858

它打开了节点检查器,但没有任何代码 . 所有窗口都是空的 .

注意到我没有得到'快速服务器侦听端口3000'

按照node-inspector fails to connect to node尝试全部但没有运气

无法解决我所缺少的问题 . 很高兴你有任何建议..所以我可以在谷歌浏览器中调试我的Node.js应用程序 .

6 回答

  • 22

    尝试运行 node --debug-brk app.js 而不是 --debug . 在节点检查器挂钩到节点进程之前,您的应用程序可能不会暂停 . 使用 --debug-brk 将强制节点在应用程序的第一行中断并等待调试器附加到进程 . 加载node-inspector Web界面是导致节点检查器附加到节点进程的原因; 's why you include the node debug port in the query string (localhost:8080/debug?port=5858). You'告诉node-inspector它应该伸出哪个端口并附加到 .

    这是我放在一起的动画gif,显示了一个完整的安装和运行节点检查器 .

    在gif中我使用了 --debug 标志,因为我在请求处理程序中进行了调试,只在请求页面时触发 . 因此,刷新页面会导致节点检查器在该行上中断 .

    我不久前还组织了一个15分钟的YouTube教程 .

    http://youtu.be/03qGA-GJXjI

    我希望有所帮助!

  • 0

    node-inspector默认尝试在启动调试窗口之前预加载所有代码 . 我有实例,节点检查器因为这个预加载而永远挂起 . 幸运的是,新版本可以选择停止预加载,从而使检查员加载速度更快 .

    试试 node-inspector --no-preload

  • 0

    标准远程调试在节点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.
    

    请参阅此处 - http://arveknudsen.com/?p=346%3Fpage_id%3D346&print=pdf - 了解更多信息

  • 121

    --debug-brk 现已弃用

    尝试 node --inspect-brk <your starting file name> 然后转到chrome并键入url chrome://inspect 并单击 Open dedicated DevTools for Node ,调试器将启动,无需node-inspector

  • 1

    enter image description here

    在Node Inspector左侧的“Sources”选项卡中,有一个“包含三角形的框” - 突出显示“Show Navigator” . (见上图) . 打开它以查找要调试的文件,并在尚未运行的代码上设置断点 .

    另请注意,如果要调试在起始节点上运行的代码,则在启动时需要使用 --debug-brk 选项 . 然后,在Node Inspector中,您将不得不启动应用程序( F8 以全部运行) . 如果要调试所有初始化代码(如启动Web浏览器),则需要此选项 .

  • 6

    node-debug --no-preload app.js

    这对我有用 . 符合this

    我的脚本运行得太快,无法附加调试器 . 必须使用--debug-brk启动已调试的进程,这样脚本将在第一行暂停 . 注意:node-debug默认为您添加此选项 .

相关问题