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.logsystem.log

也直接在CoreSimulator下,请参阅CoreSimulator.logSimulator.log

我非常确定,您可以在位于Utilities的OS X控制台应用程序中看到这一点。 如果我错了,一定要把我投给我,所以我删除这个。


更新:

具体来说(从OSX 10.11.6开始),

当一个应用程序在模拟器上崩溃时,子文件夹(具有唯一的ID)被添加到:

〜/资源库/日志/ CoreSimulator

其中,首先检查stderr.logsystem.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源代码行号和方法名称:

  1. cd到具有.app&.dSYM文件的目录
  2. 运行/Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gdb/gdb-arm-apple-darwin MyApp.app/MyApp
  3. 设置打印asm-demangle
  4. 设置打印符号文件名
  5. p / a 0×00015c64 – >通过在“控制台”应用程序中打开崩溃日志或双击.crash文件获得地址。

崩溃崩溃日志将出现在〜/ Library / Logs / CrashReporter下。

  • 如果iPhone模拟器程序崩溃(而不是模拟器中运行的iPhone应用程序),那么将会有一个iPhoneSimulator的条目。
  • 如果模拟器中的iPhone应用程序崩溃,崩溃日志将显示应用程序的显示名称。

当Xcode从连接的设备获取崩溃日志时,它将它们存储在〜/ Library / Logs / CrashReporter / MobileDevice的子文件夹中

对我而言,这是我添加到debugging器监视窗口的一个expression式。 当一个断点被击中时,不好的expression是导致XCode段错误。