Apakah ada log kerusakan yang dihasilkan oleh iPhone Simulator?
Simulator sering mogok tetapi tidak meninggalkan jejak apa pun di Konsol ... log kerusakan akan berguna.
Apakah ada log kerusakan yang dihasilkan oleh iPhone Simulator?
Simulator sering mogok tetapi tidak meninggalkan jejak apa pun di Konsol ... log kerusakan akan berguna.
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
~/Library/Logs/DiagnosticReports/
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:
~ / Library / Logs / CoreSimulator
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
dan system.log
.
Juga langsung di bawah CoreSimulator
, lihat CoreSimulator.log
dan Simulator.log
.
~/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:
~ / Library / Logs / CoreSimulator
Di dalamnya, mulailah dengan memeriksa stderr.log
dan system.log
.
Jika emulator itu sendiri mengalami error, subfolder akan ditambahkan ke:
~ / Library / Logs / DiagnosticReports
Jangan bingung dengan jalan ini
/ Library / Logs
(kurang ~
di awal), yang memiliki laporan berbeda tentang mac Anda.
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
Ini jauh lebih dapat diandalkan. Hanya dalam beberapa langkah saya dapat menemukan nomor baris sumber & nama metode:
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