2009-12-23 6 views
6

Valgrind hat eine vgcore.NNNN-Datei erstellt - wie debugge ich den Core mithilfe von GDB? Muss ich die ursprüngliche ausführbare Datei verwenden und den Kern bereitstellen, oder gibt es eine andere Möglichkeit, dies zu tun?Debuggen eines von Valgrind erzeugten Kerns

Verwenden von Valgrind als root ausführbare Datei scheint nicht zu funktionieren, und die ausführbare Datei, die unter Valgrind direkt in GDB mit dem Kern ausgeführt wurde, scheint schlechte Backtraces zu erzeugen.

+0

Wie haben Sie die Kerndatei von Valgrind generiert? – kbang

Antwort

9

Dies funktioniert gut für mich:

gdb ./a.out vgcore.21650 

und das ist, wie Sie die vgcore verwenden sollen.

Wenn Ihr Programm Stack vor dem Absturz beschädigt, dann würden Sie natürlich nicht gute Stack-Traces von vgcore bekommen. Vielleicht möchten Sie Ihre Frage mit dem tatsächlichen Valgrind-Bericht erweitern, der zum Absturz geführt hat.