问题描述
我希望我的 javascript 在我强制关闭时打印堆栈跟踪,以便我知道一个函数挂在哪里。有没有办法做到这一点?我使用 Node 运行代码,特别是 npx ts-node code.ts
。我想劫持 sigint 可能会起作用,但是 console.trace 将来自 sigint 块,而不是原始代码——我一直在这里取得进展。
解决方法
Node 运行时在 2020 年 5 月添加了 --trace-sigint
参数(为此目的,作为 nodejs/node#29207
的一部分。
当通过 npx
运行时,它的 --node-options
标志可用于将此选项传递给运行时,如下所示:
npx --node-options='--trace-sigint' ts-node code.ts
,
使用选项 --trace-sigint
。
documentation 简单地说明这“在 SIGINT 上打印堆栈跟踪。”
完成命令:
npx --node-options='-trace-sigint' ts-node code.ts