image在Windows中稱為鏡像埋酬。
在lldb中為可執(zhí)行文件和共享庫查詢命令。
1.如何查看image命令和相應(yīng)子命令的描述
2.image list命令解析
3.image lookup命令解析
1.如何查看image命令和相應(yīng)子命令的描述
lldb下通過image help 查看image命令描述
image help
查看子命令描述
help <command> <subcommand>
如help image list
help image list
2.image list命令解析
image list用來查看工程中可執(zhí)行image和依賴的共享庫image。
image list前幾條
image list后幾條
image list在我的工程里列出了464條婆瓜,第一條是我們的app的可執(zhí)行文件放刨,第二條和后面是相關(guān)的庫。通過image list也可以看到相關(guān)庫的內(nèi)存地址云稚。
3.image lookup命令解析
image lookup
- image lookup 可以用來查找可執(zhí)行文件或共享庫的原始地址隧饼,當(dāng)程序崩潰的時(shí)候,可以使用這條命令來查找崩潰所在的具體位置
如下代碼
NSArray *array = @[@1, @2];
NSLog(@"item 3: %@", array[3]);
運(yùn)行崩潰信息如下:
運(yùn)行崩潰信息
在模擬器崩潰到哪一行是可以看到的静陈,在真機(jī)上和調(diào)試別人代碼是看不到的燕雁,在真機(jī)上是一堆地址,如上圖所示窿给。
上述crash根據(jù)call調(diào)用棧信息如何定位到具體哪行代碼出現(xiàn)問題:
image lookup -a 地址 = image lookup --address 地址
image lookup
Address: RunLoop--ConfiguringRunloopSources[0x0000000100005974] (RunLoop--ConfiguringRunloopSources.__TEXT.__text + 588)
Summary: RunLoop--ConfiguringRunloopSources`-[ViewController memoryAnalyse] + 368 at ViewController.m:65
最后可以看到是ViewController.m的第65行導(dǎo)致的崩潰
- image lookup —type 類型 查看具體的類型 相當(dāng)于把對(duì)應(yīng)類型的頭文件拿出來贵白,快速查看類的所有信息
image lookup —type 類型
image命令還有許多其它功能,具體可以參考Executable and Shared Library Query Commands崩泡。