我的应用程序,其中的操作需要很长的时间才能完成的情况,然后几百情况下,下面的消息被打印:Node.js - 诊断“(节点)警告:检测到递归process.nextTick。”
(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.
然后应用程序崩溃,:
RangeError: Maximum call stack size exceeded
没有堆栈跟踪。
如何诊断此类错误?我想知道,例如,在RangeError
之前的哪个函数调用。
复制错误,该文件foo.js
具有以下内容运行node foo.js
:
var foo = function() {
process.nextTick(foo);
};
foo();
我不是那么这个问题的具体原因有兴趣在我的应用程序,因为我知道如何来在节点中诊断这类问题。
节点版本是v0.10.39
。
'节点--trace foo.js> trace.log'可能会得到你的地方,但我怀疑它的可用于真实应用程序的上下文中,因为它可能会引入太多副作用。 – robertklep