《與調(diào)試器共舞 - LLDB 的華爾茲》學習筆記

原文: 與調(diào)試器共舞 - LLDB 的華爾茲

  • pexpression --的簡寫,poexpression -o --的簡寫,--表示參數(shù)截止。

  • e count = 10用來修改變量count的值,e NSArray* $abc = [NSArray array]用來聲明一個變量。

  • thread return命令,它有一個可選參數(shù),在執(zhí)行時它會把可選參數(shù)加載進返回寄存器里,然后立刻執(zhí)行返回命令,跳出當前棧幀,函數(shù)剩余的部分不會被執(zhí)行。如:thread return NO

  • 暫停,用以下命令更新window上任一UI,點擊繼續(xù)即可看到更改后的效果:
    //打印window上所有view
    (lldb) po [[[UIApplication sharedApplication] keyWindow] recursiveDescription]

      //獲取指定的view
      (lldb) e id $myView = (id)0x7f82b1d01fd0
    
      //對這個view做更改
      (lldb) e (void)[$myView setBackgroundColor:[UIColor blueColor]]
    
  • 查找按鈕的target,用以下代碼獲取到按鈕的target和action,然后設(shè)置一個符號斷點即可:
    //獲取$myButton的target
    (lldb) po [$myButton allTargets]
    //輸出
    {(
    <MagicEventListener: 0x7fb58bd2e240>
    )}

      //獲取上述target的action
      (lldb) po [$myButton actionsForTarget:(id)0x7fb58bd2e240 forControlEvent:0]
      //輸出
      <__NSArrayM 0x7fb58bd2aa40>(
      _handleTap:
      )
    
  • 拓展:用debug view hierarchy 按鈕可以更便捷地獲取當前window上的視圖地址,然后用上述方法對該視圖進行修改:


    debug view hierarchy 按鈕的位置
獲取某個視圖的地址
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 你是否曾經(jīng)苦惱于理解你的代碼,而去嘗試打印一個變量的值? NSLog(@"%@", whatIsInsideThi...
    木易林1閱讀 1,045評論 0 4
  • 你是否曾經(jīng)苦惱于理解你的代碼,而去嘗試打印一個變量的值? NSLog(@"%@", whatIsInsideThi...
    paraneaeee閱讀 1,339評論 0 7
  • LLDB調(diào)試 help 最簡單命令是help,它會列舉出所有的命令。如果你忘記了一個命令是做什么的,或者想知道更多...
    rlqs閱讀 992評論 0 0
  • 轉(zhuǎn)載 與調(diào)試器共舞 - LLDB 的華爾茲: https://objccn.io/issue-19-2/ 推薦:i...
    F麥子閱讀 3,463評論 0 10
  • 與調(diào)試器共舞 - LLDB 的華爾茲 nangege 2014/12/19 你是否曾經(jīng)苦惱于理解你的代碼,而去嘗試...
    McDan閱讀 960評論 0 0

友情鏈接更多精彩內(nèi)容