iOS開發技巧之LLDB打印支持frame或id類型

在斷點調試時,我們有時侯祥看看我們應用視圖的某個view的frame或者其他的id類型的值
直接輸入:po xxxxView.frame總會提示一個錯誤,如下圖:


錯誤提示.png

剛開始,我總是用代碼NSlog去打印這些值,但是很不方便,經過摸索學習到了兩種解決方法:

解決方法一

使用類型轉換來打印frame,不用po(print object),使用p(print)來打印,如下圖:

p打印.png
解決方法二

(這個就是長期也有效的解決了)
1.首先在用戶根目錄創建文件.lldbinit
2.然后使用vi編輯該文件,添加
display @import UIKit
target stop-hook add -o "target stop-hook disale",如下:

touch ~/.lldbinit
vim ~/.lldbinit
//可以拷貝過去
display @import UIKit
target stop-hook add -o "target stop-hook disale"
//wq退出

然后打個斷點重新運行應用,出現如下提示,證明可以使用po打印了:

提示.png

現在輸入 po xxxxView.frame就可以正常打印了。哈哈


po打印.png

如果你不想要了這種方法,直接刪除.lldbinit文件就行了,即rm ~/.lldbinit不過我覺得比較方便。

注:這里的self是我自定義的view

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • LLDB的Xcode默認的調試器,它與LLVM編譯器一起,帶給我們更豐富的流程控制和數據檢測的調試功能。平時用Xc...
    CoderSC閱讀 1,386評論 0 2
  • LLDB的Xcode默認的調試器,它與LLVM編譯器一起,帶給我們更豐富的流程控制和數據檢測的調試功能。平時用Xc...
    小笨狼閱讀 20,611評論 31 186
  • 前言 LLDB是個開源的內置于XCode的具有REPL(read-eval-print-loop)特征的Debug...
    Noskthing閱讀 18,566評論 10 89
  • 前言 今天花了一天的時間終于把iOS的幾種常見的調試方法給學習了一下,在這里給大家分享一下LLDB的使用,同時也是...
    Peak_One閱讀 11,106評論 5 33
  • 1.HTML 中的腳本必須位于 與 標簽之間。2.腳本可被放置在 HTML 頁面的 和 部分中。3...
    不停在路上閱讀 165評論 0 0