TLDR:即使在设置ulimit
并查看apport
后,仍无法找到核心转储。生病辛苦得到一个单一的回溯。底部的问题。哪里是核心转储? (Linux)
我在这里有一个小噩梦。我目前正在做一些C编码,在我的情况下,这总是意味着公吨的段错误。大部分时间我都能够很少或没有问题地重现错误,但是今天我碰壁了。
我的代码产生不一致的段错误。我需要它谈论的核心转储。
因此,我正在寻找一个核心转储,为我的小宝贝a.out。那就是当我开始拉我的头发。
我的直觉告诉我,核心转储文件应该存储在工作目录的某个地方 - 显然不是这种情况。看完this后,我高兴地输入:
ulimit -c 750000
而......没什么。我的程序输出告诉我它做了核心转储 - 但我无法在cwd中找到它。所以在阅读this后,我了解到我应该做的事情是apport
和core_pattern
。
更改core_pattern
似乎有点吃不消得到一个核心转储,我真的不wan't惹它,因为我知道我将忘记它以后。我倾向于把这些事情搞得非常糟糕。
Apport拥有选择哪个核心转储有价值,而哪些不具有这种神奇属性。它的日志告诉我...
ERROR: apport (pid 7306) Sun Jan 3 14:42:12 2016: executable does not belong to a package, ignoring
...我的程序不够好。
- 这哪里是核心转储文件?
- 有没有办法让一个核心转储手动一次,而不必设置一切?我很少需要这些文件作为文件,大部分时间GDB都足够了。像
let_me_look_at_the_core_dump <program name>
就好了。
我已经秃顶了一点,所以任何帮助,将不胜感激。
尝试http:// askubuntu。COM /问题/ 246972 /让-Apport会副渔获物 - 崩溃 - 全系统? – lreeder
你试过'find/-name'core *''? (出去喝杯咖啡让你头脑清醒,因为它会运行一段时间)。感受你的痛苦,祝你好运! – shellter
为什么不将核心大小设置为无限制? –