(lldb)
➜ ~ lldb
(lldb)
(lldb)
設定入口
(lldb) b -[nsobject init]
breakpoint 1: where = libobjc.a.dylib`-[nsobject init], address = 0x000000000000a3a8
給某個方法下斷點
breakpoint 4: 55 locations.
(lldb)
指定類的某個方法
(lldb)
簡寫
(lldb) breakpoint list
current breakpoints:
1: name = '-[nsobject init]', locations = 1
1.1: where = libobjc.a.dylib`-[nsobject init], address = libobjc.a.dylib[0x000000000000a3a8], unresolved, hit count = 0
2: name = 'delete', locations = 1
2.1: where = coredata`-[nspersistenthistorychangerequesttoken delete], address = coredata[0x00000000002fcbd0], unresolved, hit count = 0
(lldb)
(lldb) breakpoint delete
about to delete all breakpoints, do you want to do that?: [y/n] y
all breakpoints removed. (2 breakpoints)
(lldb)
這裡和idea命令做對比
步入(f7)
步出(f8)
繼續執行
檢視變數
修改方法返回值
檢視執行緒列表
lldb) thread list
process 45369 stopped
thread #13: tid = 0x17bdf6, 0x00007fff679dd92e libsystem_kernel.dylib`__workq_kernreturn + 10
thread #14: tid = 0x17c121, 0x00007fff679dd92e libsystem_kernel.dylib`__workq_kernreturn + 10
thread #15: tid = 0x17c163, 0x00007fff679dd92e libsystem_kernel.dylib`__workq_kernreturn + 10
thread #16: tid = 0x17c164, 0x00007fff679dd92e libsystem_kernel.dylib`__workq_kernreturn + 10
(lldb) thread backtrace
......
(lldb) run
process 45369 stopped
10-> 13 return [nsstring stringwithformat:@"你好 %@", name];
14 }
15 @end
(lldb) p name
(nstaggedpointerstring *) $0 = 0x4efa213d7d9a3739 @"sadf"
(lldb) print name
(nstaggedpointerstring *) $1 = 0x4efa213d7d9a3739 @"sadf"
(lldb)
exit
tutorial — the lldb debugger
LLDB 除錯常用命令
當前lldb版本 lldb version lldb 320.4.160分享下本人常用的lldb命令 p bt help 1.p 設定斷點後,p 命令會檢視相應物件在記憶體中的結構,示例 lldb p netmanager networkmanager 13 requrlstack 0x000000...
iOS之 LLDB除錯常用命令
lldb是llvm下的偵錯程式。xcode從4.0開始編譯器開始改用llvm,相應的偵錯程式也從gdb改為lldb。1.p 用於輸出基本型別 2.po 用於輸出objective c物件 3.expr 可以在除錯動態實行指定表示式,並將結果列印出來。常用在除錯過程中修改變數的值 4.call 呼叫c...
除錯lldb命令常用
lldb在xcode4.3或者之後的版本裡面是預設的偵錯程式。假如你正在使用老一點版本的xcode的話,你又gdb偵錯程式。他們有一些基本的相同的命令,因此假如你的xcode使用的是 gdb 提示,而不是 lldb 提示的話,你也能夠更隨一起做,而沒有問題。po 命令是 print object 列...