Wie zu verstehen, EXC_BAC_ACCESS (SIGSEGV) KERN_INVALID_ADDRESS log?
Mache ich eine app in Titanium für Android und IOS. Wenn ich navigieren, eine Menge in der Anwendung, mit der ich eine zufällige Ausnahme und die app stürzt ab.
Wie kann ich wissen, wo ist das problem?
Die app ist ein wenig Komplex zu erklären:
Es hat zwei Fenster, das erste Fenster ist für die "home" - Ansicht, die ist nur im portrait-Modus, und wenn ich auf wechseln zu einer anderen Ansicht, ich schließen Sie das erste Fenster, das ich öffnen Sie ein weiteres Fenster, und ich fügen Sie eine Ansicht mit dem Inhalt dieser Fenster. Die Ansicht "Inhalt" laden die gleiche web-Ansicht mit verschiedenen url.
Die app lädt ok und ich kann die Navigation zu den verschiedenen Ansichten und Fenster ok. Aber wenn ich navigieren eine Menge, schließlich habe ich eine EXC_BAC_ACCESS (SIGSEGV) und KERN_INVALID_ADDRESS
Passiert das nur auf dem Gerät (auf-simulator funktioniert es ok) iPad mit os 5.1.1 und os 7.0.2.
Dies ist das Protokoll, wo der thread stürzt:
Incident Identifier: 1A3E94A0-E6FC-4BFF-BB3B-7651D66664DE
CrashReporter Key: d4422d11c83ca9acf2212996b20dd1078f00f36c
Hardware Model: iPad3,3
Process: Appname [16747]
Path: /var/mobile/Applications/1BACB160-AED8-4F5F-A599-4F7F1F4A4DC4/Appname.app/Appname
Identifier: Appname
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-10-31 11:56:58.680 +0100
OS Version: iPhone OS 5.1.1 (9B206)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libicucore.A.dylib 0x37953fb2 utext_setNativeIndex + 122
1 libicucore.A.dylib 0x379542a6 icu::RuleBasedBreakIterator::following(int) + 246
2 WebKit 0x35f20b2c -[NSString(WebStringDrawing) __web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:renderedStringOut:drawUnderline:] + 2176
3 WebKit 0x35e99078 -[NSString(WebStringDrawing) __web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:renderedStringOut:] + 108
4 WebKit 0x35e98ffc -[NSString(WebStringDrawing) __web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:] + 100
5 WebKit 0x35e98f88 -[NSString(WebStringDrawing) _web_drawInRect:withFont:ellipsis:alignment:lineSpacing:includeEmoji:truncationRect:measureOnly:] + 100
6 WebKit 0x35e98f14 -[NSString(WebStringDrawing) _web_sizeInRect:withFont:ellipsis:lineSpacing:] + 80
7 UIKit 0x34fba65c -[NSString(UIStringDrawing) sizeWithFont:constrainedToSize:lineBreakMode:lineSpacing:] + 108
8 UIKit 0x3512ee0e -[NSString(UIStringDrawing) sizeWithFont:constrainedToSize:lineBreakMode:] + 46
9 Appname 0x0014528c -[TiUILabel sizeForFont:] (TiUILabel.m:57)
10 Appname 0x0014537a -[TiUILabel contentWidthForWidth:] (TiUILabel.m:69)
11 Appname 0x001449bc -[TiUILabelProxy contentWidthForWidth:] (TiUILabelProxy.m:17)
12 Appname 0x00116fb4 -[TiViewProxy autoWidthForSize:] (TiViewProxy.m:756)
13 Appname 0x00120dbc -[TiViewProxy computeChildSandbox:withBounds:] (TiViewProxy.m:2543)
14 Appname 0x0011fbb8 -[TiViewProxy measureChildren:] (TiViewProxy.m:2352)
15 Appname 0x00121e36 -[TiViewProxy layoutChildren:] (TiViewProxy.m:2818)
16 Appname 0x0011dd9a -[TiViewProxy refreshView:] (TiViewProxy.m:2061)
17 Appname 0x0011f25c -[TiViewProxy layoutChildrenIfNeeded] (TiViewProxy.m:2264)
18 Appname 0x001d5ba0 +[TiLayoutQueue layoutProxy:] (TiLayoutQueue.m:79)
19 Appname 0x001d59b0 performLayoutRefresh (TiLayoutQueue.m:46)
20 CoreFoundation 0x32a5fa2c __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 8
21 CoreFoundation 0x32a5f692 __CFRunLoopDoTimer + 358
22 CoreFoundation 0x32a5e268 __CFRunLoopRun + 1200
23 CoreFoundation 0x329e149e CFRunLoopRunSpecific + 294
24 CoreFoundation 0x329e1366 CFRunLoopRunInMode + 98
25 GraphicsServices 0x32b2e432 GSEventRunModal + 130
26 UIKit 0x34fc0cce UIApplicationMain + 1074
27 Appname 0x000b8c34 main (main.m:36)
28 Appname 0x000b8470 ___lldb_unnamed_function1$$Appname + 32
Thread 0 crashed with ARM Thread State:
r0: 0x00000000 r1: 0x00000000 r2: 0x00000000 r3: 0x00000000
r4: 0x0d65c6b0 r5: 0x0d65c690 r6: 0x00000000 r7: 0x2feabfac
r8: 0x00000003 r9: 0x2feabf6c r10: 0x00000003 r11: 0x08052950
ip: 0x00000000 sp: 0x2feabfa4 lr: 0x00000000 pc: 0x37953fb2
cpsr: 0x80000030
Habe ich auch schon das Protokoll des anderen threads und Informationen über Binäre Bilder. Wenn es hilfreich ist kann ich es einfügen.
Wie kann ich wissen, was ist die Ursache für das problem und wo ist das problem?
Vielen Dank
Wie kann ich es tun? Dank
GIYF: kevincupp.com/2011/05/12/symbolicating-ios-crash-logs.html
Ich update die Frage mit dem stack-trace symbolicate
InformationsquelleAutor A.Vila | 2013-10-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erhalten Sie EXC_BAC_ACCESS, weil Sie versuchen, access-Objekt aus dem Speicher entfernt. Es passiert nur auf dem Gerät, wenn Sie navigieren Sie zu viele Fenster weil jedes Fenster nimmt einen Teil des Speichers, und wenn es ist kein Platz mehr für neue windows-iOS löscht alte Objekte, die gelöscht wurden, indem Sie zuvor.
Können Sie replizieren dieses Thema am simulator durch erzwingen von Speicher Warnung durch drücken von ⇧ + ⌘ + M.
Um Ihr Problem zu lösen müssen Sie zum speichern von Variablen, zeigen auf Fenster-Objekt, das Sie erneut öffnen möchten später in einigen globalen Wörterbuch.
InformationsquelleAutor daniula
Schließlich, ich glaube, es war ein problem mit der webview-Komponente. Ich erstellte eine web-Ansicht für jede Ansicht (ich muss es zeigen einige Grafiken) und wenn ich wieder zu Hause anzeigen, ich habe versucht, es zu entfernen. Ich denke, das problem ist, dass man nicht entfernen Sie es vollständig und es braucht eine Menge Speicher.
Schließlich habe ich es gelöst Schaffung einer webview in app.js und in allen Ansichten ändern der url und der Abmessungen.
InformationsquelleAutor A.Vila