15

我经常使用节点检查。当我编辑我的代码并重新启动时,我得到了不可避免的

与目标分离

新进程启动时出错。我总是要找到选项卡节点检查器打开并重新启动它。

我想知道我是否可以避免这种情况。例如,从 node 向 node-inspector 发送一条消息,告诉运行 node-inspector 的浏览器选项卡重新启动。

4

5 回答 5

5

重新启动调试的进程时,您不必重新启动 Node Inspector 进程本身。您需要做的就是使用 Node Inspector GUI 重新加载浏览器选项卡。

恐怕目前没有简单的方法可以在重新启动调试进程时自动重新加载 Node Inspector GUI 页面。在 Node Inspector 后端执行某种主动轮询可能是可能的,但这是必须由某人实现的功能。

根据您正在调试的应用程序的哪个部分,您可能会发现“实时编辑”功能很有用。它允许您从 Node Inspector 编辑您的代码,将更改保存到 Node/V8 运行时并可能还回磁盘。这样您就不必在进行更改后重新启动调试过程。


此功能已在 Node Inspector 中实现并在 v0.7.0 中发布。有关更多详细信息,请参见问题 #266

于 2013-09-20T08:50:13.230 回答
4

此功能已在 Node Inspector 中实现并在 v0.7.0 中发布。有关更多详细信息,请参见问题 #266

以前的答案是一种解决方法:

我写了一个简单的js脚本,由greasemonkey/tampermonkey执行。

该脚本在带有地址的选项卡上查找消息“与目标分离” http://127.0.0.1:8080/debug?port=5858。一旦消息可见,页面就会重新加载,直到它消失。

此解决方案是一种解决方法。它不应该被认为是理想的解决方案(我同意 Miroslav),如下:

// ==UserScript==
// @name       Reload node-inspector tab
// @version    0.1
// @description  looks for the detached message and auto reload the page
// @match      http://127.0.0.1:8080/debug?port=5858
// ==/UserScript==

var exec = function(){
    setTimeout(function(){
        var el = document.getElementsByClassName("help-window-title")[0];
        if(el && el.innerHTML == "Detached from the target"){
            location.reload();
        } else {
            setTimeout(function(){ exec(); }, 1000);
        }
    }, 1000);
};

exec();
于 2013-11-12T13:47:37.683 回答
2

第1步。 请勿使用node-inspector- chrome 团队已发布新作品,无法与 node-inspector 模块集成。继续前进,如果您继续使用node-inspector.

第2步。要运行您的脚本,请使用: nodemon --inspect-brk yourScript.js- brk 部分在第一行代码上创建一个自动断点。如果您尚未安装 nodemon,请先使用:npm install -g nodemon

第三步。然后打开 chrome 应用程序,打开 chrome 开发工具(F12Ctrl+Shift+I)并单击节点图标,如下所示: 在项目中保存文件时如何重新启动 node.js 调试器

第4步。进行更改yourScript.js- chrome devtools 会自动为您在项目中所做的每项更改重新加载调试器。这是因为 nodemon 监视项目文件夹并重置进程 - 这会重置调试器连接。

更多信息:2017 年使用 Node.js 进行调试- 我在 2019 年 8 月 29 日写这篇文章,但 2 年后仍然相关。

于 2019-08-29T13:20:17.203 回答
1

从这个 SO稍微交叉发布,并更新这个主题。

Chrome (58) 标准开发人员窗格中有一个链接,它打开一个新的“无头”窗口,无论应用程序如何重建/重新启动,它都会神奇地重新连接到节点检查。

我正在运行 Express.js DEBUG=myapp:* supervisor -- --inspect bin/www &,例如发现很难使用不断变化的正常 guid-laden URL 重新连接。但是这个 Chrome 工具可以整天可靠地重新连接。

在 Threads > Main 下,您应该看到“Node instance available. Connect”。在此处输入图像描述

我发现新窗口不太好用,因为我更喜欢标签,但自动重新连接非常可靠,我会忍受的!

我发现的唯一缺点是当它重新连接时它会清除所有断点。

于 2017-06-07T08:45:15.403 回答
0

当然,这很容易。首次安装npm install -g nodemon

然后你可以运行node-inspector & nodemon --debug app.js

(将app.js替换为您的脚本名称)

尽管出现语法错误,您仍然可能需要手动重新加载节点检查器选项卡

于 2017-06-25T20:03:00.520 回答