Tab Bar Ausgabe: - [UILayoutContainerView hash]: Nachricht an deallokierten Instanz gesendet

stimmen
0

Ich scheine etwas wie der Tab-Leiste werden dealloc'ing selbst, Navigation-Controller, oder ???, und dies geschieht, wenn ich auf einen bestimmten View-Controller gehen und dann die Tab-Leiste auf einer bestimmten Registerkarte (zB wenn ich den Hit Mitte Registerkarte von 3 Registerkarten, kein Problem, aber wenn ich die Registerkarte ganz rechts getroffen habe ich den Absturz). Mein Programm ist im Grunde komplett und ich habe eine ziemlich große Code-Basis an dieser Stelle. Wer noch keine Vorschläge für das Debuggen von dieser - ich habe bis jetzt gewartet auf dieser Arbeit. Mein Gefühl ist an den dealloc Routinen und alle Versionen in dem benachbarten Code zu suchen. Irgend etwas weniger ‚manuelle‘ Sie vorschlagen können? Vielen Dank!

Veröffentlicht am 11/03/2009 um 17:09
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Ohne mehr zu wissen, hier ist, wie ich es gehen würde.

  1. Im Log Viewer Typ Backtrace nach der Ausnahme tritt in gdb. Hoffentlich wird dieser Sie die genaue Linie, das Objekt zeigt die free'd zu oft wird.

  2. Geben Sie für Verweise auf dieses Objekt und sehen, ob Sie die unnötige Release finden, Autofreigabe usw. durch Inspektion. Sie sind nicht veröffentlichen / Autorelease alles, was Ihr Ausführungspfad nicht (über alloc) nicht besitzt.

Sie können etwas Glück Druck haben aus retain zählt für dieses Objekt (durch die retainCount Nachricht an das entsprechende Objekt zu senden). Obwohl die Dokumentation stark Entwickler legt nahe, dass dies sinnlos ist und nicht fruchtbar, ich habe es gelegentlich nützlich fand mich nach unten zu helfen, verengen, wenn ich etwas durch Zufall befreit habe.

Beantwortet am 11/03/2009 um 22:45
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more