有没有办法让 chrome-devtools (--inspect) 自动脱离已结束的进程?
Is there a way to get chrome-devtools (--inspect) to automatically detach from a process that has ended?
过程,原样:
使用 --debug --inspect 启动代码:
"debug": "node --max-old-space-size=8192 --debug=5567 --inspect dist/index.js",
打开提供了 url 的开发者工具,例如:
chrome-devtools://devtools/remote/serve_file/@62cd277117e6f8ec53e31b1be58290a6f7ab42ef/inspector.html?experiments=true&v8only=true&ws=localhost:9229/node
做一些调试。
意识到您有一个错误,终止进程 (Ctrl-C) 并更改代码。
重启。
启动失败:Unable to open devtools socket: address already in use
意识到必须手动刷新chrome-devtools
页面才能得到,才意识到进程已经不可用了。
节点检查器在这方面做得更好。有什么我想念的吗?某些标志会使 chrome-devtools
自动从已停止的进程中分离出来?
$ versions
npm 3.10.3
node v6.7.0
OS Darwin 15.6.0 Darwin Kernel Version 15.6.0
编辑:我开始使用 Node Inspector Manager(Chrome 扩展名),发现整个过程进展顺利。
我没有那个问题,chrome-devtools 向我显示一条消息,当我 Ctrl-C
节点进程时,调试连接已关闭。
您 运行 使用什么系统?也许这是在较新的 Node 或 Chrome 版本中修复的问题?或者,也许您的 Node 应用程序中有一些东西阻止了套接字的正常关闭。您可以尝试使用简单的脚本吗?
这里是 jcollum(用户 835611 应该得到答案,因为他们向我举报):
我有两个进程终止信号的监听器:
process.on('SIGINT', function() {
logger.warn('SIGINT received. Shutting down.');
return process.exit(0);
});
process.on('SIGTERM', function() {
logger.warn('SIGTERM received. Shutting down.');
return process.exit(0);
});
原来是那些阻止了 chrome 的开发工具看到关机。我不知道那会如何工作,但这就是我观察到的。注释掉 process.exit
没有任何改变。多么奇怪,似乎在 SIGTERM / INT
事件上有一个侦听器会阻止 Chrome 的开发工具看到进程已经退出。从未见过事件侦听器的副作用。
过程,原样:
使用 --debug --inspect 启动代码:
"debug": "node --max-old-space-size=8192 --debug=5567 --inspect dist/index.js",
打开提供了 url 的开发者工具,例如:
chrome-devtools://devtools/remote/serve_file/@62cd277117e6f8ec53e31b1be58290a6f7ab42ef/inspector.html?experiments=true&v8only=true&ws=localhost:9229/node
做一些调试。
意识到您有一个错误,终止进程 (Ctrl-C) 并更改代码。
重启。
启动失败:
Unable to open devtools socket: address already in use
意识到必须手动刷新
chrome-devtools
页面才能得到,才意识到进程已经不可用了。
节点检查器在这方面做得更好。有什么我想念的吗?某些标志会使 chrome-devtools
自动从已停止的进程中分离出来?
$ versions
npm 3.10.3
node v6.7.0
OS Darwin 15.6.0 Darwin Kernel Version 15.6.0
编辑:我开始使用 Node Inspector Manager(Chrome 扩展名),发现整个过程进展顺利。
我没有那个问题,chrome-devtools 向我显示一条消息,当我 Ctrl-C
节点进程时,调试连接已关闭。
您 运行 使用什么系统?也许这是在较新的 Node 或 Chrome 版本中修复的问题?或者,也许您的 Node 应用程序中有一些东西阻止了套接字的正常关闭。您可以尝试使用简单的脚本吗?
这里是 jcollum(用户 835611 应该得到答案,因为他们向我举报):
我有两个进程终止信号的监听器:
process.on('SIGINT', function() {
logger.warn('SIGINT received. Shutting down.');
return process.exit(0);
});
process.on('SIGTERM', function() {
logger.warn('SIGTERM received. Shutting down.');
return process.exit(0);
});
原来是那些阻止了 chrome 的开发工具看到关机。我不知道那会如何工作,但这就是我观察到的。注释掉 process.exit
没有任何改变。多么奇怪,似乎在 SIGTERM / INT
事件上有一个侦听器会阻止 Chrome 的开发工具看到进程已经退出。从未见过事件侦听器的副作用。