Wie untersuchen Sie die core-Dateien in dbx?
Ich arbeite unter AIX und haben einen Prozess, der ständig abstürzt. Ich habe nie untersucht die core-Dateien, und würde gerne einige Hinweise, wenn möglich. Ich bin mit dbx. Wie kann ich (a) stellen Sie sicher, dass die core-Datei, die geht, wo ich will gehen und (b) den Stand des Prozesses, bevor es abgestürzt ist?
Dank!
InformationsquelleAutor ctote | 2011-02-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich tun, okay Durchlaufen einen Lauf, aber bin auch nicht sicher über das Debuggen von einem core.
Ich fand diese Befehle sind wohl diejenigen, zu konzentrieren. Es gibt wahrscheinlich mehr.
Nachdem Sie Ihre core-running in dbx:
Suchen hier unter "Prüfung der Daten" hat mir geholfen.
InformationsquelleAutor JacquelineIO
core-files erstellt werden, in das aktuelle Arbeitsverzeichnis des Prozesses. Überprüfen Sie mit
getcwd()
mitchdir(
).Laden Sie Ihr Programm in dbx mit
dbx /path/to/progname /path/to/corefile
und Sie können beginnen, Ihre stack-trace ("where" - Befehl, etc.).Wenn Sie nicht angeben, eine
corefile
dbx wird automatisch laden Sie eine passende Datei namens "core", wenn die in dem gleichen Verzeichnis wie das Programm geladen (und Sie entsprechen den Signaturen).Lesen Sie die Mann Seite, auf dbx, es gibt alle debugging-Befehle, die Sie benötigen.
Beachten Sie auch, dass Ihr Programm wird benötigt, kompiliert mit debug-Symbole aktiviert (und nicht später 'strip'), um für den stack-trace werden die meisten nützlich. Ohne debugging-Symbole, die Sie sehen, die Funktion von Namen in der stack-trace, aber sonst nicht viel.
InformationsquelleAutor CoreyStup