You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断Node.js进程已附加调试器而非仅处于调试监听模式?

检测Node.js进程是否已附加调试器

可以直接用Node.js内置的inspector模块实现这个需求,代码如下:

const inspector = require('inspector');

function isDebuggerAttached() {
  try {
    const session = new inspector.Session();
    session.connect();
    session.disconnect();
    return true;
  } catch (err) {
    return false;
  }
}

说明:

  • 当有调试器实际附加到进程时(比如Chrome DevTools、VS Code调试器已连接),inspector.Session能成功连接,函数返回true
  • 如果只是用--inspect/--inspect-brk启动进程但未连接任何调试工具,尝试连接会话会抛出错误,函数返回false,正好满足你区分“调试模式启动”和“已附加调试器”的需求

关于旧方案的问题:

之前社区里的一些方案(比如检查process.debugPort、解析命令行参数找--inspect)只能判断进程是否以调试模式启动,无法识别是否真的有调试器连接,而且部分方法在新版Node.js中已经不再适用。

内容的提问来源于stack exchange,提问作者flash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 16:43:10