Wie man die richtige Linie zahlen in symbolicated crash-Berichte (iPhone / Mac)?
Wenn symbolicating crash-Berichte, bemerkte ich, dass Zeilennummern aus. Getestet habe ich dies mit einem Projekt, in dem ich absichtlich einen Absturz verursachen. Es scheint die generierte Zeilennummer enthalten keine bestimmten Linien, z.B. Kommentarzeilen oder compiler-Präprozessor-Anweisungen (nicht sicher, was es tut und nicht enthalten)...
Gibt es einen einfachen Weg, um aus dem "off" Zeilennummer in der symbolicated crash-Bericht an die aktuelle code-Zeile in den Quellcode?
Bearbeiten:
Ein Beispiel für eine Zeile in einem symbolicated crash-Bericht:
7 Luisterpaal 0x00005de2 -[SWFMP3 connection:didReceiveData:] (SWFMP3.m:320)
So, die Nummer der Zeile 320 ist fast richtig, aber nicht genau. Es ist ein paar Zeilen aus...
- Diese Technischer Hinweis zeigt, wie sich die Bericht-code
- Ich war nicht in der Lage, mehr genaue Zeilennummern, aber das ist ein killer-Ressource zu Lesezeichen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In einem Wort... Nein. Wenn Sie auf eine Zeile wie diese in einem crash-Bericht:
Die "+43" ist das nicht eine Nummer, sondern ein Speicher aus dem Anfang der Funktion. Der code wie du geschrieben hast es einfach nicht vorhanden ist in der kompilierten binary - der compiler optimiert und verändert den code (in einem Release-build zumindest) um, so ist es meist nicht mit dem übereinstimmt, was du geschrieben hast.
Leider, die Lösung bereitzustellen, die die person erlebt den Absturz mit einer debug-version, können Sie remote Debuggen oder zumindest werfen NSLog() Anweisungen zu helfen, es aufzuspüren, und/oder schreiben von kleineren Methoden.
Ich hatte dieses problem auch, aber nur, weil ich war auf der Suche auf eine neuere version des Codes, als das, was war für Sie zusammengestellt das binäre, die abgestürzt ist. Als ich ging zurück in meine Quelle Geschichte und fand die entsprechende version der Quelle, die Zeilennummern genau abgestimmt.