Linux 下用 debug 方法调试的疑问(Nodejs shell 脚本问题)
Linux 下用 debug 方法调试的疑问(Nodejs shell 脚本问题)
用了 debug 模块后在 linux 中启动:
DEBUG=mydebug:* node app.js
我想知道前面的 DEBUG=mydebug:* 是表示什么意思呢?
好像也不是定义变量的意思,因为我执行:
DEBUG=mydebug:* echo ${DEBUG}
是输出空
执行:
DEBUG=mydebug:* && echo ${DEBUG}
是输出 mydebug:*
试下这个
DEBUG=abc sh -c “echo $DEBUG”
是设定环境变量的意思
BASH 下面这可以用,另外,/usr/bin/env 也可以实现相同的功能。
试下这个env a=b sh -c 'echo $a'
在 Linux 下调试 Node.js shell 脚本时,可以使用多种 debug 方法来定位和解决问题。以下是一些常用的调试技巧和示例代码:
-
使用
console.log()
: 这是最基本的调试方法。通过在代码的关键位置添加console.log()
语句来输出变量的值或程序的状态。const x = 10; const y = 20; console.log(`x: ${x}, y: ${y}`); const sum = x + y; console.log(`Sum: ${sum}`);
-
使用 Node.js 内置的
debugger
语句: 在需要调试的代码行前添加debugger
语句,Node.js 会在执行到这里时暂停,并允许你使用调试工具进行逐步执行和变量检查。const x = 10; const y = 20; debugger; // 调试器将在这里暂停 const sum = x + y;
-
使用
node --inspect
或node --inspect-brk
: 这些命令启动 Node.js 的调试模式,可以与 Chrome DevTools 配合使用,提供更强大的调试功能。node --inspect your_script.js
或者,在代码的第一行暂停:
node --inspect-brk your_script.js
-
使用第三方调试工具: 如 Visual Studio Code,它提供了强大的 Node.js 调试支持,可以设置断点、监视变量、逐步执行等。
选择适合你需求的调试方法,结合使用这些技巧,可以更有效地定位和解决问题。