这种方法比较麻烦,但内容要详细些
ios程序在崩溃的时候会在设备以下路径自动生成日志
/Library/Logs/CrashRepoter
在IOS5中文件名类似APSIOS1_2012-02-18-102927_ipad2.plist,早期可能是.crash文件
用ITUNES同步后这个文件会自动复制到电脑里(未验证过,我现在设备是越狱的,都是直接看设备里的文件)
MAC
~/Libary/Logs/CrashRepoter/MobileDevice
windows 7
c:\Users\<user name>\Appdata\roaming\apple computer\logs\crashreporter\mobiledevice\
这个plist文件用记事本打开,是无法看明白的.需要配套的.dsym文件(这是符号文件,可以帮助你翻译错误内容和地址)
默认这个文件在类似以下位置
/Users/ljw/Library/Developer/Xcode/DerivedData/APSIOS-ekmcahprvecdgldkiddssvibzvlu/ArchiveIntermediates/APSIOS/BuildProductsPath/Release-iphoneos
其中APSIOS是你的程序名
把APSIOS.APP.DSYM和APSIOS1_2012-02-18-102927_ipad2.plist放到一个目录下
这时可以用symbolicatecrash程序来查看日志,这个程序在/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources下
在终端里运行
symbolicatecrash APSIOS1_2012-02-18-102927_ipad2.plist APSIOS.APP.DSYM
就可以看到比较详细的崩溃日志了.
.------------------------------
Last Exception Backtrace:
0 CoreFoundation 0x37f808bf __exceptionPreprocess + 163
1 libobjc.A.dylib 0x37acc1e5 objc_exception_throw + 33
2 CoreFoundation 0x37f83acb -[NSObject doesNotRecognizeSelector:] + 175
3 CoreFoundation 0x37f82945 ___forwarding___ + 301
4 CoreFoundation 0x37edd680 _CF_forwarding_prep_0 + 48
5 APSIOS1 0x0003e56b -[PhotoSync GetFiles:] (PhotoSync.m:203)
6 APSIOS1 0x0003eb05 -[PhotoSync DownloadPhotoFromMachineThread:] (PhotoSync.m:320)
7 Foundation 0x35225a91 -[NSThread main] + 73
8 Foundation 0x352b95a1 __NSThread__main__ + 1049
9 libsystem_c.dylib 0x37a44c1d _pthread_start + 321
10 libsystem_c.dylib 0x37a44ad8 thread_start + 8
.------------------------------