Xcode除錯技巧之:LLDB
1、po:print object的縮寫,表示顯示物件的文字描述,如果物件不存在則列印nil
2、p:可以用來列印基本資料型別。
3、call:執行一段程式碼
call NSLog(@"%@",@"hello world");
4、expr:動態執行指定表示式
expr i = 3.14
輸出:(int)$0 = 3.14
5、bt:列印當前執行緒堆疊資訊
如果要列印所線上程堆疊資訊,使用:bt all即可。
6、image:常用來尋找棧地址對應程式碼位置:
應用場景(陣列越界)模擬程式碼:
NSArray *array = @[@"你",@"好",@"棒"];
NSLog(@"%@",array[3]);
錯誤資訊如下:
*** Terminating app due to uncaught exception
'NSRangeException'
, reason:
'*** -[__NSArrayI objectAtIndex:]: index 3 beyond bounds [0 .. 2]'
*** First
throw
call stack:
(
0 CoreFoundation 0x000000010579454b __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00000001561f821e objc_exception_throw + 47
2 CoreFoundation 0x00000001087d1eeb -[__NSArrayI objectAtIndex:] + 153
3 BGMultimediaDemo 0x0000000104c25350 -[ViewController viewDidLoad] + 193
4 UIKit 0x0000000105d5306d -[UIViewController loadViewIfRequired] + 1245
......
......
......
21 BGMultimediaDemo 0x0000000104c35adf main + 111
22 libdyld.dylib 0x000000010857264e start + 1
23 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating
with
uncaught exception of type NSException
可能出現錯誤的地址:0x0000000104c25350 我們可以使用下面命令來找出錯誤程式碼的位置:
image lookup --address 0x0000000104c25350
執行命令後輸出結果如下:
Address: BGMultimediaDemo[0x0000000100001450] (BGMultimediaDemo.__TEXT.__text + 184)
Summary: BGMultimediaDemo`-[ViewController viewDidLoad] + 188 at ViewController.m:15
從上面輸出結果中可以看出,錯誤位置應該是ViewController.m檔案中的15行
相關文章
- Xcode中使用LLDB除錯XCodeLLDB除錯
- xcode lldb除錯使用總結XCodeLLDB除錯
- Xcode除錯命令大全 (LLDB Cheatsheet)XCode除錯LLDB
- Xcode 除錯技巧XCode除錯
- 動態除錯及LLDB技巧集合除錯LLDB
- WWDC 2018:效率提升爆表的 Xcode 和 LLDB 除錯技巧XCodeLLDB除錯
- LLDB除錯LLDB除錯
- Xcode偵錯程式LLDBXCodeLLDB
- [譯] Xcode 和 LLDB 高階除錯教程:第 3 部分XCodeLLDB高階除錯
- [譯] Xcode 和 LLDB 高階除錯教程:第 1 部分XCodeLLDB高階除錯
- iOS lldb除錯iOSLLDB除錯
- 由一條微博引發的 — Xcode LLDB 除錯斷點總結XCodeLLDB除錯斷點
- LLDB+Python指令碼:增強LLDB除錯LLDBPython指令碼除錯
- iOS 常用除錯方法:LLDB命令iOS除錯LLDB
- Xcode 常用 LLDB 指令XCodeLLDB
- [譯]用 LLDB 除錯 Swift 程式碼LLDB除錯Swift
- LLDB斷點除錯注意事項LLDB斷點除錯
- Xcode之斷點除錯詳解XCode斷點除錯
- Xcode-lldb的使用XCodeLLDB
- iOS開發除錯 LLDB使用概覽iOS除錯LLDB
- VS除錯技巧之附加程式除錯
- 學習筆記之--認識Xcode中的重要成員:lldb偵錯程式筆記XCodeLLDB
- Andorid Studio NDK開發-LLDB除錯LLDB除錯
- Andorid Studio NDK開發:LLDB除錯LLDB除錯
- Java安全之jar包除錯技巧JavaJAR除錯
- Postman除錯技巧之介面簽名Postman除錯
- debug技巧之遠端除錯除錯
- debug技巧之使用Arthes除錯除錯
- Xcode動態除錯原理XCode除錯
- xcode 控制檯除錯功能XCode除錯
- Chrome 除錯技巧Chrome除錯
- css除錯技巧CSS除錯
- vscode + ziglang + lldb windows下無法除錯VSCodeLLDBWindows除錯
- 前端入門技巧之瀏覽器除錯前端瀏覽器除錯
- Xcode Debug除錯彙總XCode除錯
- Xcode 免費真機除錯XCode除錯
- Xcode9無線除錯XCode除錯
- Xcode 上使用Reveal除錯介面XCode除錯