亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

淺談iOS調試技巧的實際應用(一)

2019-11-14 20:42:36
字體:
來源:轉載
供稿:網友

不管是在大型的C項目中, 還是在現在的iOS項目中, 調試一直是伴隨學習和解決問題的關鍵武器. 通過調試可以讓你理解一個對象或者一個過程的本質. 逐步接觸到作者設計的核心.

通過嫻熟的調試技巧, 你也可以快速定位到bug的位置. 從而快速的解決問題.

 

話不多說. 現在羅列一些個人在iOS項目中經常使用的調試技巧.

  • po 命令

      po命令是經常使用的打印對象的命令. 例如"po tableView".

      但是, 對象不僅僅局限于對象名稱, 還可以是指針, 有時我們在調試一個問題時, 獲取到了對象指針, 但是當前上下文沒有指針指向的對象的引用. 那么這時候就可以"po 0x12345678"這樣使用了. 

      po 的延伸用法還有"p intVar", "p structVar", "p *(id)object" , 這條命令可以打印對象的結構體.

 

      po 命令還有一個重要用途: 那就是在程序運行時臨時,額外地執行代碼塊. 例如, 服務器返回了一個數據, 在斷點處, 發現這個數據有問題, 我需要更改字典的一個key value對, 那么此時你可以在控制臺使用po [oneDic setValue: forKey:]. 這樣就可以避免再次重新運行程序. 在反復調試某個bug時, 這樣可以節省大量時間. 但是, 為什么這個命令可以這么用呢? 其實這可以歸結到po命令的一個弊端. 那就是它可以改變內存數據. 這個在某些地方是不允許的, 因為大多數我們不想調試的時候改變運行時數據.

  • bt 命令

      調試的另一個目的就是掌握代碼塊的調用邏輯. 同一個代碼快可以在多個線程中, 多個方法中被重復調用. 那么如何確定某個語句在被調用時所處的上下文呢? 通過在斷點位置中加入bt命令, 就可以輸出當前語句被執行時當前線程的上下文. 

      這個命令在一般斷點下沒有用途, 調用堆棧可以直接從Xcode中讀出來. 但是, 你可以在"條件斷點"中加入該命令, 然后讓條件斷點自動繼續執行. 這樣通過控制臺就可以閱讀哪些模塊, 哪些線程, 哪個對象, 到底在什么時候調用了該語句? 這個在調試基礎服務的bug時非常之有用.

      更多的bt命令可以參考LLVM官網.

  •  符號斷點

      某個時候, 同事很忙, 你不想去問他"誒, 你這個頁面的ViewController是哪個來著?", "誒, 你這個button的響應方法在哪里來著?".

      也有可能, 在某個時候, 在你的頁面push完過后, 發現狀態欄怎么突然被隱藏了, 你很想知道這到底是誰搞的鬼? 你想把它揪出來, 然后和某某當面對峙, "看又是你做的壞事.測試又提我bug了."

      在上面的情況中, 符號斷點就可以發揮巨大的作用.

 

      

      對于C函數, 不需要加"()"

      

      對于定位button的響應方法, 需要在運行時函數objc_msgSend中加入斷點. 還需要2次"繼續運行", 具體步驟讀者可以自己實踐.

      對于找出狀態欄隱藏的方法, 和第一個問題的解決方法類似.

      總之, 符號斷點類似與VC2008的數據斷點. 本質是在沒有源代碼可供插入斷點的情況下, 插入斷點. 

 

 

 

    這次先總結這么多. 如有興趣, 請繼續關注此分類.

    其實生活好比一個龐大且復雜的程序, 每個人都是程序的一個代碼快, 沒有一個人的代碼是完美無缺的, 每個人的能力, 每個人的風格都不一致. 為了滿足自己的需求, 我們需要不斷的修正別人不正確的程序所帶來的困擾. 不斷使自己的代碼塊更加健壯.  當我們有了調試的武器, 好比知道了解決各種的問題的基本方法. 通過這個方法, 我們就可以使自己的生活更加趨向于完美.

    生活, 就是一個不斷學習, 并解決問題的過程. 調試(方法論), 就是你的有力武器.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本亚洲欧美成人| 日韩视频免费在线| 国产一区二区三区在线| 久久久久北条麻妃免费看| 欧美日韩中文字幕在线视频| 亚洲欧美一区二区三区在线| 亚洲成人动漫在线播放| 久久国产精品久久久| 亚洲iv一区二区三区| 亚洲毛片在线观看| 成人性教育视频在线观看| 激情成人在线视频| 亚洲欧美精品suv| 国产视频999| 欧美成人在线免费视频| 黑丝美女久久久| 国内久久久精品| 精品一区二区电影| 高清视频欧美一级| 日韩欧美在线看| 日韩av在线导航| 日韩有码视频在线| 亚洲第一网站免费视频| 亚洲精品影视在线观看| 亚洲xxx视频| 国产精品视频自拍| 日韩中文字幕在线精品| 日韩色av导航| 国产午夜精品一区二区三区| 亚洲深夜福利网站| 亚洲天堂色网站| 欧美日韩性视频在线| 成人免费大片黄在线播放| 亚洲最新视频在线| 日韩亚洲成人av在线| 亚洲美女又黄又爽在线观看| 国产精品揄拍一区二区| 国产一区二区欧美日韩| 亚洲精品福利在线| 亚洲欧美国产制服动漫| 日韩成人免费视频| 国产精品视频一区二区三区四| 国产日产欧美精品| 91精品综合久久久久久五月天| 色偷偷av一区二区三区| 亚洲大胆人体av| 中日韩美女免费视频网址在线观看| 日韩高清电影免费观看完整| 日韩精品免费在线播放| 精品久久在线播放| 精品久久久久久久中文字幕| 亚洲激情视频在线观看| 欧美午夜片在线免费观看| 日韩美女中文字幕| 国产精品久久久久影院日本| 国产精品日日摸夜夜添夜夜av| 久久九九国产精品怡红院| 日本成人在线视频网址| 国产成人综合av| 亚洲色图欧美制服丝袜另类第一页| 亚洲欧美在线播放| 成人女保姆的销魂服务| 午夜精品久久久久久99热软件| 亚洲在线观看视频网站| 日韩免费在线免费观看| 日韩视频亚洲视频| 国产精品aaa| 欧美一区二三区| 日韩av综合中文字幕| 日韩在线视频播放| 国产成人拍精品视频午夜网站| 亚洲福利在线播放| 国产一区二区三区精品久久久| 日本视频久久久| 精品视频久久久久久久| 国产精品中文久久久久久久| 中文字幕精品一区二区精品| 青青草99啪国产免费| 欧美成人精品不卡视频在线观看| 日韩av一卡二卡| 波霸ol色综合久久| 国产欧美日韩精品专区| 中文国产成人精品久久一| 欧美激情免费观看| 日韩视频免费在线| 成人高清视频观看www| 亚洲成成品网站| 欧美乱大交xxxxx| 国产日韩中文在线| 日本电影亚洲天堂| 国产精品黄色影片导航在线观看| 日韩久久免费电影| 日韩精品免费综合视频在线播放| 97视频在线看| 亚洲精品欧美日韩| 精品亚洲一区二区三区在线观看| 欧美一区二区三区免费视| 成人亚洲欧美一区二区三区| 欧美性精品220| 国产精品久久久久久av福利软件| 日韩欧美中文第一页| 久久国产精品久久久久久久久久| 亚洲九九九在线观看| 亚洲成人av中文字幕| 欧美高清视频在线观看| 亚洲国产精品久久91精品| 亚洲精品自拍视频| 日本在线观看天堂男亚洲| 亚洲国产精品成人一区二区| 欧美孕妇与黑人孕交| 日韩h在线观看| 色综合久综合久久综合久鬼88| 亚洲国产成人在线播放| 综合欧美国产视频二区| 亚洲欧美一区二区三区情侣bbw| 亚洲欧美变态国产另类| 日本亚洲欧美成人| 91国自产精品中文字幕亚洲| 欧美激情视频网址| 欧美成年人在线观看| 2019中文字幕在线观看| 国产原创欧美精品| 日韩在线视频导航| 亚洲精品黄网在线观看| 一个人看的www欧美| 日韩高清免费在线| 97在线免费观看| 亚洲高清久久久久久| 日韩av一区二区在线观看| 欧美体内谢she精2性欧美| 亚洲欧洲日韩国产| 欧美极品少妇全裸体| 国产精品无码专区在线观看| 欧美成人一二三| 国产精品美女免费视频| 欧美成人一区二区三区电影| 色综合久久88色综合天天看泰| 亚洲深夜福利在线| 亚洲成人黄色在线| 欧美激情国产精品| 91在线视频精品| 亚洲美女在线视频| 久久综合亚洲社区| 日韩精品中文字幕视频在线| 精品国产一区二区三区久久久狼| 欧美男插女视频| 久久久久久999| 欧美黄色片视频| 91久久在线观看| 欧美丝袜美女中出在线| 91精品国产91久久| 97在线观看视频| 亚洲福利在线观看| 77777亚洲午夜久久多人| 亚洲欧美日韩国产中文| 亚洲老头同性xxxxx| 色琪琪综合男人的天堂aⅴ视频| 亚洲热线99精品视频| 日韩美女av在线| 欧美日韩国产精品一区| 欧美精品激情blacked18| 91av视频在线播放| 日韩久久精品电影| 亚洲天堂视频在线观看|