当前位置: 首页 > 面试题库 >

如何在Node.js中以编程方式检测调试模式?

司徒耀
2023-03-14
问题内容

我已经看到这个问题问过其他平台/语言-有什么想法吗?我想做类似的事情:

if (detectDebug())
{
    require('tty').setRawMode(true);    
    var stdin = process.openStdin();

    stdin.on('keypress', function (chunk, key) {
        DoWork();
    }
}
else
{
    DoWork();
}

我希望能够在调试时切换键盘输入作为脚本的开始,这样我就可以花点时间启动chrome来监听我的节点检查器端口。

***快速更新-我猜我实际上可以使用“ process.argv”来检测–debug是否传入。这是最佳/正确的方法吗?


问题答案:

v8debug在调试模式下运行时,NodeJS创建一个全局对象:node debug script.js

因此,可能的解决方案是:

var debug = typeof v8debug === 'object';

对于我的用例,我使用它是因为我想避免传递环境变量。我的主节点进程启动了子节点进程,并且我也希望为子节点node debug mainScript.js触发调试模式(再次,不将env变量传递给子进程



 类似资料:
  • 我想测试我的控制器 在这里,我需要硬编码,比如 其中取决于我应用于控制器类的注释及其方法。 但是我能用类名和方法名以编程方式派生它吗?

  • 我能够从照片中捕捉颜色的RGB值,但我希望能够通过编程检测该颜色是红色、橙色、黄色、绿色、蓝色、紫色、棕褐色还是白色或黑色。 所以我需要指定返回的RGB范围,例如,红色的值。。。或者蓝色。。。等等我现在有类似的东西,但它不包括所有可能的RGB品种。 红色 R=255,克 R=255,G=0,B 橙色 R=255,克 R=240,G=255,B=0 等等 有人知道如何获取任何RGB值,并检测它是红色

  • 问题内容: 有没有一种方法可以使用C ++在Linux中以编程方式检测本地计算机上的IP地址更改? 问题答案: 在C中,要使用当前IP,请使用: 将“ eth0”替换为您正在查看的接口。您现在要做的就是轮询更改。

  • 我的Android应用程序有一个带有PagerSnapHelper的RecyclizerView。每个项目的宽度和高度与。因此,页面上仅保留 1 个视图项。我有兴趣知道特定视图项何时对用户完全可见。我想对该视图执行一些操作。 我正在使用MpAndroidChart库在每个视图项目中显示图表。我也在为这些图表制作动画。但是,由于 RecyclerView 加载了一些与当前可见视图项相邻的视图项,因此

  • 问题内容: 我将C#与SMO一起使用,并尝试检测要连接到的SQL Server版本(例如,企业版,标准版)。我知道如何获取版本信息,但这只能告诉我SQL Server的版本(例如,SQL Server 2008与SQL Server 2005)。 有谁知道如何获得实际的产品版本(例如,企业版,标准版)? 我需要此信息,因为某些SQL Server功能只是企业级的。因此,我可以尝试调用它们并捕获异常

  • 我正试图为我的Android应用程序支持Android Q Dark主题,但我不知道如何根据我目前所在的主题导入不同的资产。 Im使用官方的DayNight主题来制作dark/light版本和drawables非常容易,只需指向XML,它将根据启用的内容从values或values-night中选择正确的值。