Gibt es Absturzprotokolle, die vom iPhone Simulator erstellt wurden?
Der Simulator stürzt häufig ab, hinterlässt jedoch keine Spuren in der Konsole. Das Absturzprotokoll ist hilfreich.
iphone
ios-simulator
crash-reports
Raubvogel
quelle
quelle
Antworten:
Die Konsole zeigt die
NSLog()
Ausgabe einer App an, die im Simulator ausgeführt wird. Die Absturzprotokolle werden in einer Datei gespeichert.Ich habe einige in meinem Home-Verzeichnis unter gefunden
Sie haben eine Dateierweiterung von
.crash
Ich habe noch nicht herausgefunden, wie sie generiert werden können, selbst wenn der Debugger das
EXC_BAD_ACCESS
Signal erfasst .Aktualisieren
Derzeit (OSX 10.11.6) meldet sich die .crash-Anmeldung an
~/Library/Logs/DiagnosticReports
, wenn der Emulator selbst abstürzt . Protokolle für einen Absturz einer App (aber das Emulatorgerät läuft noch einwandfrei) befinden sich in:Pro Absturz gibt es einen Unterordner mit einer eindeutigen ID. Nach Datum sortieren, sodass Ihr letzter Absturz der erste Unterordner ist. Beginnen Sie mit einem Blick auf
stderr.log
undsystem.log
.Auch direkt unter
CoreSimulator
, sieheCoreSimulator.log
undSimulator.log
.quelle
~/Library/Logs/DiagnosticReports/
Ich bin mir ziemlich sicher, dass Sie dies in der OS X Console-App unter Dienstprogramme sehen können. Wenn ich mich jedoch irre, stimmen Sie mich unbedingt ab, damit ich dies lösche.
AKTUALISIEREN:
Insbesondere (ab OSX 10.11.6),
Wenn eine App auf dem Emulator abstürzt, wird ein Unterordner (mit einer eindeutigen ID) hinzugefügt zu:
Beginnen Sie innerhalb von
stderr.log
undsystem.log
.Wenn der Emulator selbst abstürzt, wird ein Unterordner hinzugefügt zu:
Verwechseln Sie diesen Weg nicht mit
(fehlt
~
am Anfang), die verschiedene Berichte über Ihren Mac enthält.quelle
Hier ist etwas, das in einem speziellen Fall für mich funktioniert hat ... Meine App stürzte mit SIGKILL ab, als sie beendet wurde. Ich würde die Ausnahme für ein paar Sekunden in main.m sehen, und dann würde die App beendet sein - also keine Chance, die Rückverfolgung zu erhalten.
Ich habe viel nach „Wo speichert der Simulator seine Absturzprotokolle?“ Gesucht und nie eine Antwort gefunden. Der folgende Trick war jedoch sehr praktisch und ich konnte das Absturzprotokoll sofort abrufen:
Öffnen Sie grundsätzlich /Applications/Utilities/CrashReporterPrefs.app und ändern Sie die Einstellung in "Developer". Dies führt dazu, dass CrashReporter nach dem Absturz Ihrer App ein Popup mit dem Absturzprotokoll anzeigt.
Ich habe dies im Abschnitt "Anzeigen der iOS-Simulatorkonsole und der Absturzprotokolle" in diesem Dokument von Apple gefunden: http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/125-Using_iOS_Simulator/ios_simulator_application. html
quelle
Das ist viel zuverlässiger. In nur wenigen Schritten konnte ich die Quellzeilennummer und den Methodennamen finden:
quelle
Die Absturz-Absturzprotokolle werden unter ~ / Library / Logs / CrashReporter angezeigt.
Wenn Xcode Absturzprotokolle von einem verbundenen Gerät erhält, werden diese in Unterordnern von ~ / Library / Logs / CrashReporter / MobileDevice gespeichert
quelle
Für mich war es ein Ausdruck, den ich dem Debugger-Überwachungsfenster hinzugefügt hatte. Wenn ein Haltepunkt erreicht wurde, führte der schlechte Ausdruck dazu, dass XCode fehlerhaft wurde.
quelle