为什么一个node.js进程在OSX上突然死亡而在任何日志文件中都没有解释?

90%的时间我总是得到一个堆栈跟踪。 但是有时候这个过程只是退出,我不知道为什么。 总之打印堆栈跟踪总是? 或者在dmesg中find更多的信息?

好吧终于find了一个方法来find错误:

节点 – 追踪app.js

它输出每个函数调用,我可以看到堆栈跟踪退出之前:

startup.processKillAndExit.process.exit

我的堆栈跟踪指向:

 redis.get 'bar', (err, data) -> JSON.parse(value).foo 

JSON.parse(value)返回null,所以.foo引发:

[TypeError:无法读取null的属性'foo']

出于某种原因,Rediscallback中的TypeError被吞下并导致节点退出而不打印错误。