为什么一个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被吞下并导致节点退出而不打印错误。