使用Xcode和LLDB進(jìn)行高級調(diào)試

1、WWDC2018

1.1 Advanced Debugging with Xcode and LLDB link

Discover advanced techniques, and tips and tricks for enhancing your Xcode debugging workflows. Learn how to take advantage of LLDB and custom breakpoints for more powerful debugging. Get the most out of Xcode's view debugging tools to solve UI issues in your app more efficiently.

1.2 視頻介紹的內(nèi)容

  • 每次啟動app再到響應(yīng)的測試業(yè)務(wù)需要經(jīng)過很多個步驟龟劲,使用LLDB調(diào)試可以減少這個時(shí)間花費(fèi)
  • 這個步驟是可以直接拖動跳過的
thread jump
#跳過響應(yīng)的執(zhí)行行數(shù)
thread jump --by 2
#跳過之后可以執(zhí)行預(yù)期需要執(zhí)行的代碼
expression [self.view setBackgroudColor:[UIColor redColor]]
  • 介紹了LLDB的常用指令
    (lldb) p & po
    (lldb) expression & e
    (lldb) frame variable <name>
    
  • 介紹了LLDB 執(zhí)行 Python,快捷LLDB腳本集合Chisel
  • 介紹了Xcode來調(diào)試UI界面颓屑,直接頁面操作copy響應(yīng)視圖或者約束
Debug View Hierarchy


2、Chisel功能使用

2.1 chisel集成

#1.安裝
brew update
brew install chisel
#這里如果出現(xiàn)錯誤按照提示解決
#Cannot brew update or upgrade: Error: homebrew-cask is a shallow clone
#https://github.com/Homebrew/brew/issues/9420

#2.根目錄創(chuàng)建llbdinit文件
touch .lldbinit 
open .lldbinit 

#3.集成Chisel python腳本集合
command script import /usr/local/opt/chisel/libexec/fbchisellldb.py

#4.重啟xcode,在Xcode輸入pviews查看視圖結(jié)構(gòu) | help查看指令

2.2 腳本常用指令

There are many commands; here's a few: (Compatibility with iOS/Mac indicated at right)

Command Description iOS OS X
pviews Print the recursive view description for the key window. Yes Yes
pvc Print the recursive view controller description for the key window. Yes No
visualize Open a UIImage, CGImageRef, UIView, CALayer, NSData (of an image), UIColor, CIColor, or CGColorRef in Preview.app on your Mac. Yes No
fv Find a view in the hierarchy whose class name matches the provided regex. Yes No
fvc Find a view controller in the hierarchy whose class name matches the provided regex. Yes No
show/hide Show or hide the given view or layer. You don't even have to continue the process to see the changes! Yes Yes
mask/unmask Overlay a view or layer with a transparent rectangle to visualize where it is. Yes No
border/unborder Add a border to a view or layer to visualize where it is. Yes Yes
caflush Flush the render server (equivalent to a "repaint" if no animations are in-flight). Yes Yes
bmessage Set a symbolic breakpoint on the method of a class or the method of an instance without worrying which class in the hierarchy actually implements the method. Yes Yes
wivar Set a watchpoint on an instance variable of an object. Yes Yes
presponder Print the responder chain starting from the given object. Yes Yes

更多指令介紹:Wiki

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末呼奢,一起剝皮案震驚了整個濱河市化戳,隨后出現(xiàn)的幾起案子单料,更是在濱河造成了極大的恐慌,老刑警劉巖点楼,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扫尖,死亡現(xiàn)場離奇詭異,居然都是意外死亡掠廓,警方通過查閱死者的電腦和手機(jī)换怖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蟀瞧,“玉大人沉颂,你說我怎么就攤上這事≡梦郏” “怎么了铸屉?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長塞关。 經(jīng)常有香客問我抬探,道長,這世上最難降的妖魔是什么帆赢? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任小压,我火速辦了婚禮,結(jié)果婚禮上椰于,老公的妹妹穿的比我還像新娘怠益。我一直安慰自己,他們只是感情好瘾婿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布蜻牢。 她就那樣靜靜地躺著,像睡著了一般偏陪。 火紅的嫁衣襯著肌膚如雪抢呆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天笛谦,我揣著相機(jī)與錄音抱虐,去河邊找鬼。 笑死饥脑,一個胖子當(dāng)著我的面吹牛恳邀,可吹牛的內(nèi)容都是我干的懦冰。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼谣沸,長吁一口氣:“原來是場噩夢啊……” “哼刷钢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起乳附,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤内地,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后许溅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瓤鼻,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年贤重,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了茬祷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡并蝗,死狀恐怖祭犯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情滚停,我是刑警寧澤沃粗,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站键畴,受9級特大地震影響最盅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜起惕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一涡贱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惹想,春花似錦问词、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锋叨,卻和暖如春垄分,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背娃磺。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工锋喜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓嘿般,卻偏偏與公主長得像,于是被迫代替她去往敵國和親涯冠。 傳聞我的和親對象是個殘疾皇子炉奴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容