lldb 除錯常用命令

2022-01-16 06:28:00 字數 2022 閱讀 5945

(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 列...