【问题标题】:Is it possible to debug a currently running production Node application?是否可以调试当前正在运行的生产节点应用程序?
【发布时间】:2013-08-25 22:03:18
【问题描述】:

我在本地通过运行node --debug 并使用node-inspector 工具进行调试。 node-inspector 必须在后台运行,然后我将我的浏览器(并非所有浏览器都可以工作;Chrome 可以)指向http://127.0.0.1:8080/debug?port=5858 进行调试。

问题是我无法在本地运行生产服务器(缺少不属于开发机器的私钥文件),因此很难调试某些生产问题,即使我愿意破解生产机器。节点检查器仍然可以做到这一点吗?

【问题讨论】:

    标签: node.js debugging production-environment


    【解决方案1】:

    是的,您只需要从node inspector's README 执行几个步骤:

    1. node-inspector 必须在您尝试调试的节点进程的机器上运行。所以,你必须能够在那里安装它。
    2. 大概您的生产过程不是以--debug 标志开始的。不过,您可以发送一个信号来实现此目的:kill -s USR1 <pid>。 (可以使用ps aux | grep node 之类的方式获取pid。)
    3. 确保端口 8080 从生产机器暴露给本地机器。
    4. 正常指向浏览器;一切就绪。

    【讨论】:

    • 我通常将 NodeJs 作为服务器服务启动,因此更容易停止它并使用 nodemon 或 flag--debug 进行调试。
    • @FrancisRodrigues 您可以将其发布为答案(更详细)。
    • 感谢您与我们分享node-inspector
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 2011-05-12
    • 2022-11-09
    相关资源
    最近更新 更多