我在分段错误后生成了核心转储。gdb(或其他方式)有没有办法查看发生这种情况的系统时间?
我无法使用核心转储文件的创建时间,因为它是在没有此元信息的情况下发送给我的。
我在分段错误后生成了核心转储。gdb(或其他方式)有没有办法查看发生这种情况的系统时间?
我无法使用核心转储文件的创建时间,因为它是在没有此元信息的情况下发送给我的。
系统时间(不幸的是)默认情况下不存储在核心文件中。你有几个选择。其中之一是更改核心文件的名称以包含系统时间。
您可以在此处阅读有关此内容的更多信息。
基本上,您想在核心文件的名称中添加一个“%t”。
如果您正在运行自定义内核,则有更多选择。
例如,您可以更改 elf_prstatus 结构以包含您可能想要的其他内容。这是一个并非没有痛苦的选择,因为现成的工具可能并不总是令人满意。您可以将自定义注释添加到核心文件并包含应用程序特定信息,然后您可以使用 readelf 转储和检查这些信息。
他们通过对生成核心的目录执行“ls -lrt”来检查何时创建核心转储。