有人知道如何在Node.js中打印堆栈跟踪吗?
如何在Node.js中打印堆栈跟踪?
对于我所知无法在nodejs中打印完整的堆栈跟踪信息,您只能打印“部分”堆栈跟踪信息,您无法从代码中看到来源,也无法看到异常发生的地方。这就是Ryan Dahl在此youtube视频中解释的内容。http://youtu.be/jo_B4LTHi3I ,精确时间为56:30。希望这可以帮助
使用现成的Node模块,可以从Node获得全长堆栈跟踪(尽管会降低性能):http : //www.mattinsler.com/post/26396305882/announcing-longjohn-long-stack -traces-for-node-js
尝试Error.captureStackTrace(targetObject [,constructorOpt])。
const myObj = {};
function c() {
// pass
}
function b() {
Error.captureStackTrace(myObj)
c()
}
function a() {
b()
}
a()
console.log(myObj.stack)
函数a
和b
被捕获在错误堆栈中并存储在中myObj
。
任何Error
对象都具有stack
捕获其构造点的成员。
var stack = new Error().stack
console.log( stack )
或更简单地说:
console.trace("Here I am!")
您可以使用node-stack-trace模块,它是功能强大的模块,可以跟踪调用堆栈。