在这个问题
建议如下:
ulimit -c unlimited
ulimit -a
将限制设置为零以外的值。在我的系统上,它之前是 0。
段错误后没有核心文件。
因此,
sudo systemctl enable apport.service
(尽管这似乎与发行版有关,而不是与开发人员有关)。/var/crash
此后,工作目录中没有核心文件。
还有:
sudo sysctl -w kernel.core_pattern=core.%u.%p.%t # to enable core generation
systemctl restart apport # to restore default apport settings
沒有任何动静。
观看/var/log/apport.log
表演
ERROR: apport (pid 34940) Fri Dec 24 11:48:47 2021: executable does not belong to a package, ignoring
太好了!Ubuntu 禁用了我代码的核心转储,毁掉了一个宝贵的调试工具。
如何才能摆脱我的束缚,并获得我自己的可执行文件的核心转储?
答案1
知道了。
禁用 apport
sudo systemctl disable apport
然后,设置kernel.core_pattern
sudo sysctl -w kernel.core_pattern=core.%u.%p.%t # to enable core generation
然后更改 ulimit
ulimit -c unknown
核心转储现在位于工作目录中。
对我来说,重启后更改不会持续。