我的问题出现在推出iOS 6时,但现在似乎也影响了5.1.1。
当应用程序崩溃时,日志将打印到“控制台”,并且不会保存“设备日志”。这在很多方面令人沮丧:
值得一提的是,我们使用附件并且无法同时连接调试器。
如何解决这个问题可以节省我的一天,但任何体面的解决方案都会很好。
谢谢
编辑:'控制台'和'设备日志'是我在组织者中获得的。
答案 0 :(得分:0)
我所知道的最简单的方法需要一点点设置。设置完成后,即使重启时间也可以访问完整日志,您可以将其保存以供日后使用。
你需要一个越狱设备。在Cydia中安装名为syslogd to /var/log/syslog
和OpenSSH
的软件包。按照Cydia开始页面上的OpenSSH教程(中间一半)。 syslogd
- 包没有教程,但安装过程是相同的。安装syslogd
后重启设备。
日志将写入/var/log/syslog
。使用开发用户终端上的ssh
登录设备并查看/拖尾日志。您可以scp
将日志返回到开发计算机,也可以使用CyberDuck或类似设备将其从设备中取出。
日志的大小会增加,我不确定是否存在限制,因此请密切关注文件大小。友好的
> /var/log/syslog
不时应该这样做。
PS:Cydia上还有一个MobileTerminal
包。它允许您直接从设备查看日志,而无需从第二台计算机进行ssh进入
答案 1 :(得分:0)
在最新版本的iOS中,以下内容对我有用......
//This method will be invoked before crash occurs
void onUncaughtException(NSException* exception)
{
//Print whatever you want to print before, I have print the info from exception
MDDDebugLog(@"Reason for crash : %@", [exception reason]);
MDDDebugLog(@"Name of the crash : %@", [exception name]);
MDDDebugLog(@"Stack trace of the crash: %@", [exception callStackSymbols]);
}
//Print crash log in file
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//Assign a method which will be invoked before crash occurs
NSSetUncaughtExceptionHandler(&onUncaughtException);
}