2017-06-09 2 views
0

Ich habe einen Absturz und die Anwendung ist mit Symbolen kompiliert. Wenn ich gdb starte, bekomme ich nur einen StapelrahmenCore Dump zeige nur einen Stack Frame

Die apps verwendet shared library und einige der shared libraries sind entfernt. Im Folgenden finden Sie die Ausgabe von GDB, wenn ich bt voll laufen:

(gdb) bt full 
#0 0x78461f68 in ??() 
Cannot access memory at address 0x24 

Kann mir jemand helfen, wie weiter solche Fälle verfahren. Wie ich erfahren habe, welcher Anruf von meiner Bewerbung an dieser Adresse endete.

+0

* 'Zugriff auf Speicher unter Adresse 0x24' nicht möglich * ist offensichtlich falsch. Etwas führt ein wildes Lesen/Schreiben durch; Sie befinden sich in der dritten virtuellen Funktion mit einem 'NULL'' this'-Zeiger in C++, usw. Sie müssen mehr Informationen bereitstellen, wie Ihre Programmiersprache und was unter der Adresse 0x78461f68 geladen wird. – jww

Antwort

0

Wie ich erfahren habe, welcher Anruf von meiner Anwendung an dieser Adresse endete.

Die wahrscheinlichste Ursache ist Stapelüberlauf/Stapelbeschädigung.

Sie sollten Ihre Anwendung mit Address Sanitizer instrumentieren (verfügbar für die neuesten Versionen von Clang und GCC) - es ist außergewöhnlich gut, Sie direkt auf das Problem zu zeigen.