在哪里可以找到 Raku 核心转储文件?

Posted

技术标签:

【中文标题】在哪里可以找到 Raku 核心转储文件?【英文标题】:Where can I find a Raku core dump file? 【发布时间】:2020-10-11 06:18:36 【问题描述】:

我从 /path/to/data 运行 /home/foo/bar.p6 并显示“分段错误(核心转储)”

我在 /var/crash 或我的主目录或当前工作目录中找不到核心转储文件。

我认为核心转储的是 Raku 本身。

如果我的程序导致了转储,raku 会将核心转储文件放在哪里,如果 Raku 本身进行了核心转储,我会在哪里找到转储文件?

谢谢。

【问题讨论】:

OOC,您使用的是哪个版本的 Rakudo?在哪个后端? 非常感谢伊丽莎白·马蒂森。 raku --version 说“这是 Rakudo 版本 2020.07,基于 MoarVM 版本 2020.07 实现 Raku 6.d。” 【参考方案1】:

/var/crash 用于系统故障转储。核心转储通常保存在 /var/lib/systemd/coredump/ 下,如果没有,那么告诉我们您的发行版以及您的系统是否使用 systemd 可能会有所帮助。还要检查 /etc/systemd/coredump.conf 的自定义设置。

【讨论】:

非常感谢 ruby​​stallion。我用的是 Xubuntu 20.04.1;我有基于 MoarVM 版本 2020.05 构建的 Rakudo 版本 2020.05.1;我的 /var/lib/systemd/coredump/ 是空的。也许实际上没有倾倒任何东西。 您可以检查文件/proc/sys/kernel/core_pattern 以查看内核配置放置(以及命名)核心转储文件的位置;如果在您的系统上配置了 systemd coredumpctl,它看起来像|/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h,其中开头的管道字符表示它应该通过管道传输到进程中,在您的情况下,它可能是绝对路径或相对路径。另外,dmesg 可能会提供有关 segfault 和 coredump 的更多信息

以上是关于在哪里可以找到 Raku 核心转储文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 erlang 故障转储文件?

gdb 搜索核心转储内存

如何从 linux 内核核心转储中找到“HZ”值?

如何在 docker 容器中禁用核心文件转储

如何从核心转储的反汇编函数中找到局部变量的地址并显示其值

C语言 文件方面 段错误 核心已转储 以及字符串查找删除的问题