ubuntu 14.04在哪里删除核心文件?


20

我已经使用ulimit启用了无限的核心文件大小:

ulimit -a
core file size          (blocks, -c) unlimited
...

我相信我已经触发了核心转储,但是我无法在我的家,var / ...等位置找到核心文件。

您知道Ubuntu在哪里配置核心转储位置吗?


OP未指定@djf,未指定引起核心转储的程序。可能不是程序员代码。就我们所知,这可能是团结。
Rich Homolka,2015年

1
这是一个超级用户问题吗?这是关于运行仅程序员使用的调试器。应该将其迁移回SO。
Homer6'3

Answers:


7

我认为这比特定的Ubuntu东西更多的是Linux内核。查看

cat /proc/sys/kernel/core_pattern

查看核心文件手册页


13
那不会告诉您文件的存放位置。该问题名为Ubuntu 14.04。根本不清楚通过按照命令在/proc/sys/kernel/core_pattern哪里可以找到文件的命令进行操作。
jcalfee314

1
对我而言,core_pattern内核伪文件引用了一个名为“ apport”的程序,该程序没有手册页,也没有太多有用的输出。所以仍然在寻找我的转储核心。:(
gojomo 2015年

1
apport是标准的Linux桌面核心处理程序,通常会报告给您的发行版。
kkron 2015年

如何打开这个文件夹?cd /usr/share/apport/apport不行
mrgloom

32

默认情况下,Ubuntu内核配置为使用apport记录核心转储。您可以通过覆盖来覆盖此设置/proc/sys/kernel/core_patternman core有关详细信息,请参见中的“核心转储文件的命名”部分。例如:

echo '/tmp/core.%e.%p.%t' | sudo tee /proc/sys/kernel/core_pattern

批准将核心转储写入 /var/crash/_path_to_program.userid.crash,但仅适用于从主要ubuntu apt信息库安装的应用程序。

有关审批的更多信息:https : //wiki.ubuntu.com/Apport


要也为非打包程序编写核心转储,请创建一个名为〜/ .config / apport / settings的文件,其内容如下: [main]
unpackaged

在Ubuntu 18.04中,修改/ proc / sys / kernel / core_pattern对我不起作用
greuze '18

1

在Ubuntu 16.04.3 LTS上,我的核心转储位于:

/var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

因此,要在中运行它gdb,可以运行:

apt install gdb gdb /path/to/your/binary/application-name /var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.