iPhone模拟器生成的崩溃日志?
是否有iPhone模拟器生成的崩溃日志?
模拟器崩溃了很多,但不会在控制台留下任何痕迹…崩溃日志将是有用的。
控制台将显示模拟器中运行的应用程序的NSLog()
输出。 崩溃日志保存到文件。
我在我的主目录下find了一些
~/Library/Logs/DiagnosticReports/
他们有.crash
的文件扩展名
我还没有想到的是,即使debugging器抓取EXC_BAD_ACCESS
信号,如何让它们生成。
更新
目前(OSX 10.11.6), ~/Library/Logs/DiagnosticReports
的.crash日志是模拟器本身崩溃的时候 。 login应用程序崩溃(但仿真器设备仍然运行良好),在:
〜/资源库/日志/ CoreSimulator
每次崩溃时,都有一个具有唯一ID的子文件夹。 按datesorting,以便您最近的崩溃是第一个子文件夹。 在里面, stderr.log
和system.log
。
也直接在CoreSimulator
下,请参阅CoreSimulator.log
和Simulator.log
。
我非常确定,您可以在位于Utilities的OS X控制台应用程序中看到这一点。 如果我错了,一定要把我投给我,所以我删除这个。
更新:
具体来说(从OSX 10.11.6开始),
当一个应用程序在模拟器上崩溃时,子文件夹(具有唯一的ID)被添加到:
〜/资源库/日志/ CoreSimulator
其中,首先检查stderr.log
和system.log
。
当模拟器本身崩溃时,子文件夹被添加到:
〜/资源库/日志/ DiagnosticReports
不要混淆这个道路
/图书馆/日志
(缺less~
在开始),有不同的报告关于您的mac。
这是一个特殊情况下对我有用的东西…我的应用程序崩溃与SIGKILL,因为它终止。 我会在main.m中看到exception几秒钟,然后应用程序将终止 – 因此,没有机会得到后面的跟踪。
我做了很多关于“模拟器存储崩溃日志的地方”的search,从来没有find答案。 但是,下面的技巧非常方便,我能够迅速获取崩溃日志:
基本上,打开/Applications/Utilities/CrashReporterPrefs.app并将设置更改为“开发人员”。 这将导致CrashReporter在应用程序崩溃后显示崩溃日志的popup窗口。
我在Apple的这个文档的“查看iOS模拟器控制台和崩溃日志”部分find了这个: http : //developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/125-Using_iOS_Simulator/ios_simulator_application。 HTML
这更可靠。 只需几个步骤,我就可以find源代码行号和方法名称:
- cd到具有.app&.dSYM文件的目录
- 运行/Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gdb/gdb-arm-apple-darwin MyApp.app/MyApp
- 设置打印asm-demangle
- 设置打印符号文件名
- p / a 0×00015c64 – >通过在“控制台”应用程序中打开崩溃日志或双击.crash文件获得地址。
崩溃崩溃日志将出现在〜/ Library / Logs / CrashReporter下。
- 如果iPhone模拟器程序崩溃(而不是模拟器中运行的iPhone应用程序),那么将会有一个iPhoneSimulator的条目。
- 如果模拟器中的iPhone应用程序崩溃,崩溃日志将显示应用程序的显示名称。
当Xcode从连接的设备获取崩溃日志时,它将它们存储在〜/ Library / Logs / CrashReporter / MobileDevice的子文件夹中
对我而言,这是我添加到debugging器监视窗口的一个expression式。 当一个断点被击中时,不好的expression是导致XCode段错误。