如何从核心转储中获取系统时间?

Geo*_*rge 9 c++ linux gdb coredump segmentation-fault

我有一个分段错误后生成的核心转储.有没有办法在gdb(或其他方式)看到发生这种情况时的系统时间?

我无法使用核心转储文件的创建时间,因为它是在没有此元信息的情况下发送给我的.

amr*_*ith 4

默认情况下,系统时间(不幸的是)不存储在核心文件中。你有几个选择。其中之一是更改核心文件的名称以包含系统时间。

您可以在此处阅读有关此内容的更多信息。

基本上,您想将“%t”粘贴到核心文件的名称中。

如果您正在运行自定义内核,则您有更多选择。

例如,您可以更改 elf_prstatus 结构以包含您可能想要的其他内容。这是一个并非没有痛苦的选择,因为现成的工具可能并不总是令人满意。您可以向核心文件添加自定义注释,并包含应用程序特定信息,然后您可以使用 readelf 转储和检查这些信息。