dcd*_*cds 35 linux directory-structure core-dump
我试图找出我的一个 Linux 应用程序崩溃的原因。但我不知道核心在哪里。
cat /proc/sys/kernel/core_pattern
core.%e.%p
Run Code Online (Sandbox Code Playgroud)
任何的想法?
wur*_*tel 38
核心转储在崩溃时写入进程的当前目录中。
当然,需要启用核心转储,默认情况下,这些通常是禁用的。检查 的输出ulimit -c,如果为 0,则不会写入核心文件。运行ulimit -c unlimited以启用核心转储;这是每个进程的设置,由该进程启动的进程继承。
如果应该生成核心转储但您不知道在哪里,那么您可以再次启动该进程(如果它不会立即崩溃),然后通过执行ls -l /proc/$pid/cwdwhere $pidis the process ID检查其工作目录。该链接将指向该进程的当前工作目录。很有可能会出现核心转储。否则你需要find在整个系统上运行......
小智 37
使用systemd 的系统通常配置为将内核转储到
/var/lib/systemd/coredump/
Run Code Online (Sandbox Code Playgroud)
您可以使用该coredumpctl命令列出核心转储。另请参阅no-more-coredumps-after-migrating-to-systemd