Ich habe einen Core-Dump nach einem Segmentierungsfehler erzeugt. Gibt es einen Weg in gdb (oder irgendwie anders), um die Systemzeit zu sehen, als das passierte?
Ich kann die Erstellungszeit der Core-Dump-Datei nicht verwenden, da sie ohne diese Metainformationen an mich gesendet wurde.
Die Systemzeit wird (leider) nicht standardmäßig in einer Core-Datei gespeichert. Sie haben ein paar Optionen. Eine davon ist, den Namen der Kerndatei so zu ändern, dass sie die Systemzeit enthält.
Sie können mehr hier lesen.
Grundsätzlich möchten Sie ein "% t" in den Namen der Kerndatei stecken.
Wenn Sie einen benutzerdefinierten Kernel ausführen, haben Sie mehr Optionen.
Sie können beispielsweise die elf_prstatus-Struktur so ändern, dass sie andere Dinge enthält, die Sie wünschen. Dies ist eine Option, die nicht ohne Schmerzen ist, da Werkzeuge von der Stange nicht immer glücklich sind. Sie könnten der Kerndatei eine benutzerdefinierte Notiz hinzufügen und anwendungsspezifische Informationen einbeziehen, die Sie dann mithilfe von readelf ausgeben und überprüfen können.
Sie überprüfen, wenn Core-Dump erstellt wird, indem Sie "ls -lrt" des Verzeichnisses, unter dem der Kern generiert wurde. tun
Tags und Links c++ linux coredump gdb segmentation-fault