Linux 下用 debug 方法调试的疑问(Nodejs shell 脚本问题)

发布于 1周前 作者 eggper 来自 nodejs/Nestjs

Linux 下用 debug 方法调试的疑问(Nodejs shell 脚本问题)
用了 debug 模块后在 linux 中启动:
DEBUG=mydebug:* node app.js

我想知道前面的 DEBUG=mydebug:* 是表示什么意思呢?

好像也不是定义变量的意思,因为我执行:
DEBUG=mydebug:* echo ${DEBUG}
是输出空

执行:
DEBUG=mydebug:* && echo ${DEBUG}
是输出 mydebug:*

6 回复

DEBUG=mydebug:* echo ${DEBUG}

解析 DEBUG=空

执行
DEBUG=mydebug:* echo


试下这个

DEBUG=abc sh -c “echo $DEBUG”

是设定环境变量的意思

BASH 下面这可以用,另外,/usr/bin/env 也可以实现相同的功能。
试下这个
env a=b sh -c 'echo $a'

在 Linux 下调试 Node.js shell 脚本时,可以使用多种 debug 方法来定位和解决问题。以下是一些常用的调试技巧和示例代码:

  1. 使用 console.log(): 这是最基本的调试方法。通过在代码的关键位置添加 console.log() 语句来输出变量的值或程序的状态。

    const x = 10;
    const y = 20;
    console.log(`x: ${x}, y: ${y}`);
    const sum = x + y;
    console.log(`Sum: ${sum}`);
    
  2. 使用 Node.js 内置的 debugger 语句: 在需要调试的代码行前添加 debugger 语句,Node.js 会在执行到这里时暂停,并允许你使用调试工具进行逐步执行和变量检查。

    const x = 10;
    const y = 20;
    debugger;  // 调试器将在这里暂停
    const sum = x + y;
    
  3. 使用 node --inspectnode --inspect-brk: 这些命令启动 Node.js 的调试模式,可以与 Chrome DevTools 配合使用,提供更强大的调试功能。

    node --inspect your_script.js
    

    或者,在代码的第一行暂停:

    node --inspect-brk your_script.js
    
  4. 使用第三方调试工具: 如 Visual Studio Code,它提供了强大的 Node.js 调试支持,可以设置断点、监视变量、逐步执行等。

选择适合你需求的调试方法,结合使用这些技巧,可以更有效地定位和解决问题。

回到顶部