iOS--Chisel記錄

最近看看針對LLDB命令擴展的Chisel,感覺很實用。記錄下,備份
對于只會po的我感覺打開新世界的大門。。。??

倉庫地址
Chisel

下面基本就是readme翻譯和我實踐記錄了??

安裝

brew update
brew install chisel

~路徑下創(chuàng)建.lldbinit文件

touch .lldbinit 
open .lldbinit

輸入命令

command script import /usr/local/opt/chisel/libexec/fblldb.py

使用

1 pviews

<UIWindow: 0x7fcbb0b1b360; frame = (0 0; 375 812); gestureRecognizers = <NSArray: 0x60400005cd40>; layer = <UIWindowLayer: 0x60400003ba20>>
   | <UIView: 0x7fcbb0a05040; frame = (0 0; 375 812); autoresize = W+H; layer = <CALayer: 0x608000036a20>>
   |    | <UIImageView: 0x7fcbb0a05220; frame = (67 170; 240 128); autoresize = RM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x608000037100>>

查看層級視圖。感覺這個不如XCode自帶的debug view hierarchy直接。但是也不錯

2 pvs
打印當前VC描述
感覺 可能 用不到

(lldb) pvc
<ChiselTest.ViewController 0x7fcbb0b1aa30>, state: appeared, view: <UIView 0x7fcbb0a05040>

3 visualize
查看image相關(guān) view

感覺這個是神器,不過swift4報錯..待填坑

看到有人提issue,也沒回應
issue

4 fv
應該 find views的縮寫吧
參數(shù)是正則

(lldb) fv UIView
0x7fc232703d20 UIView
0x7fc23240dc70 UIView
(lldb) fv UIVie+
0x7fc232703d20 UIView
0x7fc23240dc70 UIView
(lldb)

5 fvc
同 find vcs

6 show/hidden
查看隱藏視圖
感覺這個也是在debug view hierarchy中的功能

(lldb) hide 0x7fc23240dc70
(lldb) show 0x7fc23240dc70

7 mask/unmask
在當前視圖遮罩

(lldb) mask 0x7fc23240dc70
(lldb) unmask 0x7fc23240dc70

感覺就是addSubview/SubLayer


image.png

8 border/unborder
給視圖加一個邊框?qū)崿F(xiàn)

(lldb) border 0x7fbefdc00f00
(lldb) 

感覺這個不錯


9 caflush
刷新渲染服務器(如果沒有動畫,就相當于“重新繪制”)。
感覺 用不到 沒有使用場景

caflush

10 bmessage
在類的方法或?qū)嵗姆椒ㄉ显O置一個符號斷點,而不用擔心層次結(jié)構(gòu)中的哪個類實際實現(xiàn)了這個方法。
神器神器 我們自定義的方法中可以打斷點。系統(tǒng)實現(xiàn)的方法就懵逼啊

(lldb) bmessage [0x7fcc17c15fc0 setFrame:]
Setting a breakpoint at -[UIView setFrame:] with condition (void*)(id)$rdi == 0x00007fcc17c15fc0
Breakpoint 2: where = UIKit`-[UIView(Geometry) setFrame:], address = 0x000000010e2d44f2
1
image.png

11wivar
watch ivar 觀察變量
貌似swift4 不行

error: error: use of undeclared identifier 'aa'
Traceback (most recent call last):
  File "/usr/local/opt/chisel/libexec/fblldb.py", line 84, in runCommand
    command.run(args, options)
  File "/usr/local/Cellar/chisel/1.8.0/libexec/commands/FBDebugCommands.py", line 40, in run
    objectAddress = int(fb.evaluateObjectExpression(commandForObject), 0)
TypeError: int() can't convert non-string with explicit base

12 presponder
打印鏈式的起點
感覺也nice

13 help
查看所有命令

?著作權(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)容

  • 用到的組件 1、通過CocoaPods安裝 2、第三方類庫安裝 3、第三方服務 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 15,191評論 1 180
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實...
    香橙柚子閱讀 24,760評論 8 183
  • 增強現(xiàn)實學習 手機同屏方式 手機學的工具變了 碼書 umu互動平臺 手機讓實驗方式變了 課的形態(tài)變了 游戲化學習
    海昌許老師閱讀 349評論 0 0
  • 提起筆總想寫點什么,今天上午開會的時候,說到規(guī)則,副校長說到大家都要遵守規(guī)則,如果有人不遵守的話,那就要找他的...
    馮闖lzosve閱讀 295評論 0 0
  • 11月2日周四,晴,今天加班回家晚了一些,到家后孩子已經(jīng)吃完飯了,孩他爹整天也不大上心孩子的學習,也不知道輔導孩子...
    秦昊臻閱讀 1,558評論 0 0

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