我刚刚阅读this blog post by Netflix - 精彩阅读。我一直在玩提到的工具等;特别是通过设置--abort-on-uncaught-exception
标志在未捕获的异常上生成核心转储。例如,这也被描述为here。我认为它到目前为止只使用一个简单的测试脚本(除了抛出错误之外什么都不做),因为我看到了这个输出:
Uncaught Error: foo
FROM
run (/tmp/test/index.js:4:9)
wrapper [as _onTimeout] (timers.js:265:14)
Timer.listOnTimeout (timers.js:110:15)
[1] 18165 illegal hardware instruction (core dumped) node --abort-on-uncaught-exception index.js
但是,我觉得找到这个实验应该产生的实际核心转储文件(?)似乎太愚蠢了。
我查看了网上某处提到的/var/cores/
和/opt/cores/
- 但这些目录并不存在。
快速find / -name core -type f
也没有产生任何有用的东西。我错过了什么?
编辑:节点版本为v0.12.0。
答案 0 :(得分:11)
ulimit -c
设置为0
,则不会创建核心文件,这在我的计算机上就是这种情况(例如here)。调整此设置会使core
文件弹出工作目录。
答案 1 :(得分:1)
对于我在MacOSX上,它们似乎存放在/cores
目录中,例如/cores/core.5748
。正如您所提到的,您需要运行ulimit -c unlimited
来告诉操作系统保存核心文件。