我想查看我的应用程序的错误行:
0 CoreFoundation 0x36e008a7 __exceptionPreprocess + 186
1 libobjc.A.dylib 0x33217259 objc_exception_throw + 32
2 CoreFoundation 0x36e00789 +[NSException raise:format:] + 0
3 CoreFoundation 0x36e007ab +[NSException raise:format:] + 34
4 Foundation 0x32a8e5b3 +[NSJSONSerialization JSONObjectWithData:options:error:] + 66
5 myshine 0x001f68d1 _mh_execute_header + 1046737
6 myshine 0x000fb27b _mh_execute_header + 17019
7 UIKit 0x35009cab -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1182
8 UIKit 0x350037dd -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 408
9 UIKit 0x34fd1ac3 -[UIApplication handleEvent:withNewEvent:] + 1010
10 UIKit 0x34fd1567 -[UIApplication sendEvent:] + 54
11 UIKit 0x34fd0f3b _UIApplicationHandleEvent + 5826
12 GraphicsServices 0x34f1e22b PurpleEventCallback + 882
13 CoreFoundation 0x36dd4523 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 38
14 CoreFoundation 0x36dd44c5 __CFRunLoopDoSource1 + 140
15 CoreFoundation 0x36dd3313 __CFRunLoopRun + 1370
16 CoreFoundation 0x36d564a5 CFRunLoopRunSpecific + 300
17 CoreFoundation 0x36d5636d CFRunLoopRunInMode + 104
18 UIKit 0x3500286b -[UIApplication _run] + 550
19 UIKit 0x34fffcd5 UIApplicationMain + 1080
20 myshine 0x000faa33 _mh_execute_header + 14899
21 myshine 0x000f9270 _mh_execute_header + 8816
mac04:skydrive pwang$ dwarfdump --uuid myshine.app.dSYM
UUID: DEB2D948-0339-31BF-B3A3-CE21B73171AC (armv7) myshine.app.dSYM/Contents/Resources/DWARF/myshine
UUID: 90212FF0-80ED-3083-9DFB-FC883F1EDBD0 (armv7s) myshine.app.dSYM/Contents/Resources/DWARF/myshine
mac04:skydrive pwang$ dwarfdump --uuid myshine.app/myshine
UUID: DEB2D948-0339-31BF-B3A3-CE21B73171AC (armv7) myshine.app/myshine
UUID: 90212FF0-80ED-3083-9DFB-FC883F1EDBD0 (armv7s) myshine.app/myshine
mac04:skydrive pwang$ /Applications/Xcode.app/Contents/Developer/usr/bin/atos -arch armv7 -o myshine.app/myshine 0x001f68d1
0x001f68d1 (in myshine)
它给我0x001f68d1,而不是错误行。你能告诉我我该怎么做才能得到正确的路线
答案 0 :(得分:3)
以下是有关如何尝试阅读崩溃报告的一些链接:
Symbolicating iPhone App Crash Reports
Ray Wenderlich教程HERE
话虽这么说,有时你不会得到正确的项目错误。例如,如果你已经为一个对象实例化了一个未保留的指针,而其他东西试图在保留计数为零之后指向它,那将导致错误(访问不良),但实际上,发生错误访问崩溃的地方是不是问题所在的地方(指针的声明)。我的第一步(通常在尝试分析崩溃报告之前,除非很明显),是设置一个断点然后逐步执行代码直到应用程序崩溃。您还可以使用断点并自定义它们,以便在将输出发送到调试器或播放声音等时继续。有关调试技术的一些信息,请参阅THIS教程。
答案 1 :(得分:0)
日志表明NSJSONSerialization
正在引发异常。编写一个try-catch块并将异常导致代码放入其中。打印异常详细信息,您就会知道这个问题。
您还可以为objc_exception_throw
和+[NSException raise:format:]
添加断点并调试代码。发生错误情况时,您将能够跟踪导致此错误的事件链。请参阅to this link以了解如何添加这些断点。