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