当我在终端中按 ctrl+c 时,有没有办法打印当前 JS 行的堆栈跟踪?
is there a way to print the stacktrace of the current JS line when I ctrl+c in terminal?
我希望我的 javascript 在我强制关闭时打印一个堆栈跟踪,这样我就知道某个函数挂在哪里了。有没有办法做到这一点?我 运行 使用 Node 的代码,特别是 npx ts-node code.ts
。我想劫持 sigint 可能会起作用,但是 console.trace 将来自 sigint 块而不是原始代码——我在这里取得进展。
使用选项 --trace-sigint
。
documentation 简单地指出这“在 SIGINT 上打印堆栈跟踪”。
完成命令:
npx --node-options='-trace-sigint' ts-node code.ts
Node 运行时在 2020 年 5 月添加了 --trace-sigint
参数(作为 nodejs/node#29207
的一部分,正是出于这个目的。
当 运行 到 npx
时,其 --node-options
标志可用于将此选项传递给运行时,如下所示:
npx --node-options='--trace-sigint' ts-node code.ts
我希望我的 javascript 在我强制关闭时打印一个堆栈跟踪,这样我就知道某个函数挂在哪里了。有没有办法做到这一点?我 运行 使用 Node 的代码,特别是 npx ts-node code.ts
。我想劫持 sigint 可能会起作用,但是 console.trace 将来自 sigint 块而不是原始代码——我在这里取得进展。
使用选项 --trace-sigint
。
documentation 简单地指出这“在 SIGINT 上打印堆栈跟踪”。
完成命令:
npx --node-options='-trace-sigint' ts-node code.ts
Node 运行时在 2020 年 5 月添加了 --trace-sigint
参数(作为 nodejs/node#29207
的一部分,正是出于这个目的。
当 运行 到 npx
时,其 --node-options
标志可用于将此选项传递给运行时,如下所示:
npx --node-options='--trace-sigint' ts-node code.ts