Apakah ada log kerusakan yang dihasilkan oleh iPhone Simulator?
Simulator sering mogok tetapi tidak meninggalkan jejak apa pun di Konsol ... log kerusakan akan berguna.
iphone
ios-simulator
crash-reports
Raptor
sumber
sumber
Jawaban:
Konsol akan menampilkan
NSLog()
keluaran dari aplikasi yang berjalan di simulator. Log kerusakan disimpan ke file.Saya telah menemukan beberapa di direktori home saya di bawah
Mereka memiliki ekstensi file
.crash
Sesuatu yang belum saya temukan adalah bagaimana membuat mereka menghasilkan bahkan jika debugger mengambil
EXC_BAD_ACCESS
sinyalnya.Memperbarui
Saat ini, (OSX 10.11.6), .crash yang masuk
~/Library/Logs/DiagnosticReports
, adalah saat emulator itu sendiri mengalami error . Log untuk aplikasi yang mengalami error (tetapi perangkat emulator masih berjalan dengan baik), ada di:Per crash, ada sub-folder dengan id unik. Urutkan berdasarkan tanggal, sehingga kerusakan terakhir Anda adalah sub-folder pertama. Di dalamnya, mulailah dengan melihat
stderr.log
dansystem.log
.Juga langsung di bawah
CoreSimulator
, lihatCoreSimulator.log
danSimulator.log
.sumber
~/Library/Logs/DiagnosticReports/
Saya cukup yakin Anda dapat melihat ini di aplikasi Konsol OS X yang terletak di Utilities. Jika saya salah, pastikan untuk memilih saya jadi saya menghapus ini.
MEMPERBARUI:
Secara khusus (pada OSX 10.11.6),
Saat aplikasi mengalami error pada emulator, subfolder (dengan id unik) ditambahkan ke:
Di dalamnya, mulailah dengan memeriksa
stderr.log
dansystem.log
.Jika emulator itu sendiri mengalami error, subfolder akan ditambahkan ke:
Jangan bingung dengan jalan ini
(kurang
~
di awal), yang memiliki laporan berbeda tentang mac Anda.sumber
Ini adalah sesuatu yang berhasil untuk saya dalam kasus khusus ... Aplikasi saya mogok dengan SIGKILL saat dihentikan. Saya akan melihat pengecualian di main.m selama beberapa detik, dan kemudian aplikasi akan selesai dihentikan - dengan demikian, tidak ada kesempatan untuk mendapatkan jejak kembali.
Saya melakukan banyak pencarian di “di mana simulator menyimpan log kerusakannya” dan tidak pernah berhasil menemukan jawaban. Namun, trik berikut ini cukup berguna dan saya bisa mengambil log kerusakan dengan cepat:
Pada dasarnya, buka /Applications/Utilities/CrashReporterPrefs.app dan ubah pengaturan ke "Pengembang". Ini akan menyebabkan CrashReporter menampilkan munculan dengan log kerusakan setelah aplikasi Anda mogok.
Saya menemukan ini di bagian “Melihat Konsol Simulator iOS dan Log Kerusakan” di dokumen ini dari Apple: http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/125-Using_iOS_Simulator/ios_simulator_application. html
sumber
Ini jauh lebih dapat diandalkan. Hanya dalam beberapa langkah saya dapat menemukan nomor baris sumber & nama metode:
sumber
Log error error akan muncul di ~ / Library / Logs / CrashReporter.
Ketika Xcode mendapatkan log kerusakan dari perangkat yang terhubung, Xcode menyimpannya di sub-folder ~ / Library / Logs / CrashReporter / MobileDevice
sumber
Bagi saya, itu adalah ekspresi yang telah saya tambahkan ke jendela arloji debugger. Ketika breakpoint terkena, ekspresi buruk menyebabkan Xcode menjadi segfault.
sumber