如何才能摆脱我的束缚,并获得我自己的可执行文件的核心转储?

如何才能摆脱我的束缚,并获得我自己的可执行文件的核心转储?

这个问题

建议如下:

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

核心转储现在位于工作目录中。

对我来说,重启后更改不会持续。

相关内容