iPhone Simulator是否有生成的崩溃日志?
模拟器崩溃很多,但没有在控制台中留下任何痕迹......崩溃日志会很有用。
答案 0 :(得分:144)
控制台将显示模拟器中运行的应用程序的NSLog()
输出。崩溃日志将保存到文件中。
我在
下的主目录中找到了一些~/Library/Logs/DiagnosticReports/
他们的文件扩展名为.crash
我还没想到的是,即使调试器抓取EXC_BAD_ACCESS
信号,如何让它们生成。
<强>更新强>
目前,(OSX 10.11.6),。~/Library/Logs/DiagnosticReports
中的.crash日志是模拟器本身崩溃的时候。 app 崩溃的日志(但模拟器设备仍然正常运行)位于:
〜/库/日志/ CoreSimulator
每次崩溃时,都会有一个具有唯一ID的子文件夹。按日期排序,以便您最近的崩溃是第一个子文件夹。在其中,首先查看stderr.log
和system.log
。
同样直接在CoreSimulator
下方,请参阅CoreSimulator.log
和Simulator.log
。
答案 1 :(得分:16)
我很确定您可以在位于Utilities中的OS X控制台应用中看到这一点。如果我错了,一定要把我投票给我,所以我删除它。
更新:
具体而言(从OSX 10.11.6开始),
当应用在模拟器上崩溃时,会将子文件夹(具有唯一ID)添加到:
〜/库/日志/ CoreSimulator
在此范围内,首先检查stderr.log
和system.log
。
当模拟器本身崩溃时,会将子文件夹添加到:
〜/库/日志/ DiagnosticReports
不要将此路径与
混淆/库/日志
(开始时缺少~
),其中包含有关您的Mac的不同报告。
答案 2 :(得分:5)
这是一个在特殊情况下对我有用的东西......我的应用程序在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
答案 3 :(得分:1)
这更可靠。只需几步,我就可以找到源代码行号和&amp;方法名称:
答案 4 :(得分:1)
崩溃崩溃日志将显示在〜/ Library / Logs / CrashReporter下。
当Xcode从连接的设备获取崩溃日志时,它会将它们存储在〜/ Library / Logs / CrashReporter / MobileDevice
的子文件夹中答案 5 :(得分:0)
对我来说,这是我添加到调试器监视窗口的表达式。当断点被击中时,坏表达导致XCode发生段错误。
答案 6 :(得分:0)
您可能还想看看以下相关答案:https://stackoverflow.com/a/14984297/679240
以上答案均不适用于“ Big Sur”操作系统版本。查找日志的唯一方法是通过“控制台”应用程序(Application / Utilities / Console)