iPhone Simulatorによって生成されたクラッシュログはありますか?
シミュレータは頻繁にクラッシュしますが、コンソールにトレースが残されません...クラッシュログは役に立ちます。
iPhone Simulatorによって生成されたクラッシュログはありますか?
シミュレータは頻繁にクラッシュしますが、コンソールにトレースが残されません...クラッシュログは役に立ちます。
回答:
コンソールにはNSLog()
、シミュレーターで実行されているアプリからの出力が表示されます。クラッシュログはファイルに保存されます。
私は私のホームディレクトリの下にいくつかを見つけました
~/Library/Logs/DiagnosticReports/
それらのファイル拡張子は .crash
まだ理解していないのは、デバッガーがEXC_BAD_ACCESS
シグナルを取得した場合でも、それらを生成する方法です。
更新
現在(OSX 10.11.6)の.crash ~/Library/Logs/DiagnosticReports
は、エミュレータ自体がクラッシュしたときにログインします。アプリがクラッシュした(ただし、エミュレーターデバイスはまだ正常に動作している)ログは、次の場所にあります。
〜/ライブラリ/ Logs / CoreSimulator
クラッシュごとに、一意のIDを持つサブフォルダーがあります。最近のクラッシュが最初のサブフォルダーになるように、日付で並べ替えます。その内部では、見てから始めるstderr.log
とsystem.log
。
また、直接の下でCoreSimulator
見る、CoreSimulator.log
とSimulator.log
。
~/Library/Logs/DiagnosticReports/
UtilitiesにあるOS X Consoleアプリでこれを確認できると思います。でも、もし私が間違っている場合は、必ず投票して、これを削除してください。
更新:
具体的には(OSX 10.11.6以降)、
アプリがエミュレーターでクラッシュすると、サブフォルダー(一意のIDを持つ)が次の場所に追加されます。
〜/ライブラリ/ Logs / CoreSimulator
その中で、調べることから始めstderr.log
とsystem.log
。
エミュレータ自体がクラッシュすると、サブフォルダが次の場所に追加されます。
〜/ライブラリ/ Logs / DiagnosticReports
このパスと混同しないでください
/ライブラリ/ Logs
(~
最初に欠けている)、あなたのMacについてのさまざまなレポートがあります。
これは特別な場合に私のために働いたものです...私のアプリはSIGKILLが終了するとクラッシュしました。main.mで数秒間例外が表示され、その後アプリが終了するため、バックトレースを取得できません。
私は「シミュレーターがクラッシュログをどこに保存するのか」を何度も検索しましたが、答えを見つけることができませんでした。ただし、次のトリックは非常に便利で、その場でクラッシュログを取得できました。
基本的に、/ Applications / Utilities / CrashReporterPrefs.appを開き、設定を「開発者」に変更します。これにより、アプリがクラッシュした後、CrashReporterがクラッシュログを含むポップアップを表示します。
これはAppleのこのドキュメントの「iOSシミュレータコンソールとクラッシュログの表示」セクションで見つかりました:http : //developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/125-Using_iOS_Simulator/ios_simulator_application。 html
これははるかに信頼性が高いです。ほんの数ステップで、ソース行番号とメソッド名を見つけることができました。
クラッシュクラッシュログは〜/ Library / Logs / CrashReporterの下に表示されます。
Xcodeが接続されたデバイスからクラッシュログを取得すると、〜/ Library / Logs / CrashReporter / MobileDeviceのサブフォルダーに保存します