iPhoneシミュレータによって生成されたクラッシュログはありますか?
シミュレーターは頻繁にクラッシュしますが、コンソールにトレースを残しません...クラッシュログは役に立ちます。
iPhoneシミュレータによって生成されたクラッシュログはありますか?
シミュレーターは頻繁にクラッシュしますが、コンソールにトレースを残しません...クラッシュログは役に立ちます。
コンソールにはNSLog()
、シミュレーターで実行されているアプリからの出力が表示されます。クラッシュログはファイルに保存されます。
ホームディレクトリの下にあるものを見つけました
~/Library/Logs/DiagnosticReports/
彼らはのファイル拡張子を持っています.crash
私がまだ理解していないことは、デバッガーがEXC_BAD_ACCESS
シグナルを取得した場合でも、それらを生成させる方法です。
アップデート
現在、(OSX 10.11.6)の.crashログインは、エミュレータ自体がクラッシュ~/Library/Logs/DiagnosticReports
したときです。アプリがクラッシュした場合のログ(ただし、エミュレーターデバイスは引き続き正常に実行されています)は次のとおりです。
〜/ Library / Logs / CoreSimulator
クラッシュごとに、一意のIDを持つサブフォルダーがあります。最近のクラッシュが最初のサブフォルダーになるように、日付で並べ替えます。stderr.log
その中で、とを見てから始めsystem.log
ます。
また、直下、およびCoreSimulator
を参照してください。CoreSimulator.log
Simulator.log
これは、ユーティリティにあるOSXコンソールアプリで確認できると確信しています。私が間違っている場合は、必ず私に投票してください。これを削除します。
アップデート:
具体的には(OSX 10.11.6以降)、
アプリがエミュレーターでクラッシュすると、サブフォルダー(一意のIDを持つ)が次の場所に追加されます。
〜/ Library / Logs / CoreSimulator
stderr.log
その中で、とを調べることから始めsystem.log
ます。
エミュレータ自体がクラッシュすると、サブフォルダが次の場所に追加されます。
〜/ Library / Logs / DiagnosticReports
このパスをと混同しないでください
/ Library / Logs
(開始時に欠けている~
)、これはあなたのMacについての異なるレポートを持っています。
これが特別な場合に私のために働いたものです...私のアプリはそれが終了したときにSIGKILLでクラッシュしていました。main.mに数秒間例外が表示された後、アプリは終了します。したがって、バックトレースを取得する機会はありません。
「シミュレーターはクラッシュログをどこに保存するのか」を何度も検索しましたが、答えを見つけることができませんでした。ただし、次のトリックは非常に便利で、クラッシュログをその場で取得できました。
基本的には、/ Applications / Utilities / CrashReporterPrefs.appを開き、設定を「Developer」に変更します。これにより、アプリがクラッシュした後、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のサブフォルダーに保存します。
これははるかに信頼性があります。ほんの数ステップで、ソース行番号とメソッド名を見つけることができました。
私にとっては、デバッガーのウォッチウィンドウに追加した式でした。ブレークポイントがヒットしたとき、不正な式が原因でXCodeがセグメンテーション違反になりました。
また、この関連する回答を確認することをお勧めします:https ://stackoverflow.com/a/14984297/679240
上記の回答はいずれも、「BigSur」OSバージョンでは機能しませんでした。ログを見つける唯一の方法は、「コンソール」アプリ(アプリケーション/ユーティリティ/コンソール)を使用することでした。