NSArray *array1=@[@"1",@"2"]; NSString *s1=array1[2];
这个是常常遇到的问题c++
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 2 beyond bounds [0 .. 1]' *** First throw call stack: ( 0 CoreFoundation 0x034d1a14 __exceptionPreprocess + 180 1 libobjc.A.dylib 0x02b54e02 objc_exception_throw + 50 2 CoreFoundation 0x033a9a4e -[__NSArrayI objectAtIndex:] + 206 3 ScanCode 0x000bca53 -[NSArray(Debug) objectAtIndexDebug:] + 691 4 CoreFoundation 0x034161d8 -[NSArray objectAtIndexedSubscript:] + 40 5 ScanCode 0x00162dcb -[AppDelegate application:didFinishLaunchingWithOptions:] + 827 6 UIKit 0x00dee172 -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 337 7 UIKit 0x00def5a0 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 3863 8 UIKit 0x00df6cd6 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1989 9 UIKit 0x00e1bee5 __84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke3218 + 68 10 UIKit 0x00df3966 -[UIApplication workspaceDidEndTransaction:] + 163 11 FrontBoardServices 0x07ca9c76 __37-[FBSWorkspace clientEndTransaction:]_block_invoke_2 + 71 12 FrontBoardServices 0x07ca974d __40-[FBSWorkspace _performDelegateCallOut:]_block_invoke + 54 13 FrontBoardServices 0x07cc7173 -[FBSSerialQueue _performNext] + 184 14 FrontBoardServices 0x07cc75aa -[FBSSerialQueue _performNextFromRunLoopSource] + 52 15 FrontBoardServices 0x07cc68a6 FBSSerialQueueRunLoopSourceHandler + 33 16 CoreFoundation 0x033eb6ff __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15 17 CoreFoundation 0x033e138b __CFRunLoopDoSources0 + 523 18 CoreFoundation 0x033e07a8 __CFRunLoopRun + 1032 19 CoreFoundation 0x033e00e6 CFRunLoopRunSpecific + 470 20 CoreFoundation 0x033dfefb CFRunLoopRunInMode + 123 21 UIKit 0x00df3206 -[UIApplication _run] + 540 22 UIKit 0x00df8bfa UIApplicationMain + 160 23 ScanCode 0x001657ea main + 138 24 libdyld.dylib 0x0427ea21 start + 1 25 ??? 0x00000001 0x0 + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)
在调试的po命令里面输入 image lookup -a 内存地址 就能够找到报错代码的位置数组
(lldb) image lookup -a 0x00162dcb Address: ScanCode[0x000a8dcb] (ScanCode.__TEXT.__text + 681771) Summary: ScanCode`-[AppDelegate application:didFinishLaunchingWithOptions:] + 827 at AppDelegate.m:34
就知道是在AppDelegate的34行浏览器
能够用symbolic断点viewDidLoad这样在每一个控制器返回都会停一下网络
结合NSLog宏输出当前的文件名和行数来定位会变得很容易 app
view debug工具
必要时给view加背景色oop
检查网址和参数测试
Charles 分析网络请求的内容spa
http 测试工具debug
若是是get请求,有时候能够直接用浏览器打开连接进行测试
参考官方说明或者其它人的demo和教程
参考官方的demo
尽可能描述清楚,发帖求助,而后暂时不处理
由于毫无头绪还在继续研究是浪费时间的行为,除非你的项目其它部分都已经完成。或者你在紧急修复bug,不然都不该该在没有头绪的状况下处理bug