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

时间:2013-02-07 15:19:04

标签: c++ linux gdb segmentation-fault coredump

我在分段错误后生成核心转储。在发生这种情况时,gdb(或其他方式)是否有办法查看系统时间?

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

3 个答案:

答案 0 :(得分:4)

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

您可以阅读有关此here的更多信息。

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

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

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

答案 1 :(得分:0)

不是这样回答,但也许是未来的回答。 http://stupefydeveloper.blogspot.co.nz/2008/10/gdb-examining-core-dumps.html

答案 2 :(得分:0)

他们通过执行生成核心的目录的“ls -lrt”来检查何时创建核心转储。