建议采取以下措施:
ulimit -c unlimited
ulimit -a
Run Code Online (Sandbox Code Playgroud)
将限制设置为零以外的值。以前在我的系统上它是 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
Run Code Online (Sandbox Code Playgroud)
还是什么都没有。
观看/var/log/apport.log节目
ERROR: apport (pid 34940) Fri Dec 24 11:48:47 2021: executable does not belong to a package, ignoring
Run Code Online (Sandbox Code Playgroud)
哦,好!Ubuntu 已禁用我自己的代码的核心转储,从而破坏了一个有价值的调试工具。
知道了。
禁用批准
sudo systemctl disable apport
Run Code Online (Sandbox Code Playgroud)
然后,设置kernel.core_pattern
sudo sysctl -w kernel.core_pattern=core.%u.%p.%t # to enable core generation
Run Code Online (Sandbox Code Playgroud)
然后更改ulimit
ulimit -c unknown
Run Code Online (Sandbox Code Playgroud)
核心转储现在位于工作目录中。
这些更改在重新启动后不会持续(对我来说)。
| 归档时间: |
|
| 查看次数: |
2719 次 |
| 最近记录: |