İPhone Simulator tarafından oluşturulan herhangi bir kilitlenme günlükleri var mı?
Simülatör çok sık çöküyor ancak Konsolda herhangi bir iz bırakmıyor ... çökme günlüğü faydalı olacaktır.
İPhone Simulator tarafından oluşturulan herhangi bir kilitlenme günlükleri var mı?
Simülatör çok sık çöküyor ancak Konsolda herhangi bir iz bırakmıyor ... çökme günlüğü faydalı olacaktır.
Yanıtlar:
Konsol NSLog()
, simülatörde çalışan bir uygulamadan çıktıyı gösterecektir . Kilitlenme günlükleri dosyaya kaydedilir.
Bazılarını ana dizinimde altında buldum
~/Library/Logs/DiagnosticReports/
Dosya uzantısına sahipler .crash
Henüz çözemediğim bir şey, hata ayıklayıcı EXC_BAD_ACCESS
sinyali kapsa bile onları nasıl üretecekleri .
Güncelleme
Şu anda, (OSX 10.11.6), içinde .crash günlükleri ~/Library/Logs/DiagnosticReports
zaman vardır emülatör kendisi çöküyor . Bir uygulamanın kilitlenmesine ilişkin günlükler (ancak öykünücü cihaz hala düzgün çalışıyor):
~ / Library / Logs / CoreSimulator
Kilitlenme başına, benzersiz kimliği olan bir alt klasör vardır. Tarihe göre sıralayın, böylece son çöküşünüz ilk alt klasör olur. O İçinde bakarak başlamak stderr.log
ve system.log
.
Ayrıca doğrudan altında CoreSimulator
, bkz. CoreSimulator.log
Ve Simulator.log
.
~/Library/Logs/DiagnosticReports/
Bunu Utilities'de bulunan OS X Console uygulamasında görebileceğinizden oldukça eminim. Yine de yanılıyorsam, bana oy verdiğinizden emin olun, böylece bunu sileyim.
GÜNCELLEME:
Özellikle (OSX 10.11.6 itibariyle),
Bir uygulama öykünücüde çöktüğünde, şuna bir alt klasör (benzersiz bir kimliğe sahip) eklenir:
~ / Library / Logs / CoreSimulator
Bunun içinde inceleyerek başlayın stderr.log
ve system.log
.
Öykünücünün kendisi çöktüğünde, şuna bir alt klasör eklenir:
~ / Library / Logs / DiagnosticReports
Bu yolu karıştırmayın
/ Kitaplık / Günlükler
( ~
başlangıçta eksik ), Mac'iniz hakkında farklı raporlar var.
İşte benim için özel bir durumda çalışan bir şey ... Uygulamam, sonlandırılırken SIGKILL ile kilitleniyordu. Birkaç saniyeliğine main.m'deki istisnayı görürdüm ve sonra uygulama sonlandırmayı bitirirdi - bu nedenle geri izlemeyi alma şansı olmazdı.
"Simülatör çökme günlüklerini nerede saklıyor" konusunda çok araştırma yaptım ve hiçbir zaman bir yanıt bulamadım. Ancak, aşağıdaki numara oldukça kullanışlı oldu ve kilitlenme günlüğünü anında yakalamayı başardım:
Temel olarak /Applications/Utilities/CrashReporterPrefs.app dosyasını açın ve ayarı "Geliştirici" olarak değiştirin. Bu, CrashReporter'ın uygulamanız kilitlendikten sonra kilitlenme günlüğünü içeren bir açılır pencere görüntülemesine neden olur.
Bunu, Apple'dan gelen bu dokümandaki "iOS Simülatör Konsolu ve Kilitlenme Günlüklerini Görüntüleme" bölümünde buldum: http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/125-Using_iOS_Simulator/ios_simulator_application. html
Kilitlenme günlükleri ~ / Library / Logs / CrashReporter altında görünecektir.
Xcode bağlı bir cihazdan kilitlenme günlükleri aldığında, bunları ~ / Library / Logs / CrashReporter / MobileDevice alt klasörlerinde saklar.
Bu çok daha güvenilirdir. Yalnızca birkaç adımda kaynak satır numarasını ve yöntem adını bulabildim:
Bu ilgili yanıta da bir göz atmak isteyebilirsiniz: https://stackoverflow.com/a/14984297/679240
Yukarıdaki yanıtlardan hiçbiri "Big Sur" işletim sistemi sürümü üzerinde işe yaramadı. Günlüğü bulmanın tek yolu "Konsol" uygulamasıydı (Uygulama / Yardımcı Programlar / Konsol)