2015-07-20 218 views
2

調試的Objective-C每當我嘗試讀取UIViewframe例如在調試時,我得到這個錯誤:進口的UIKit默認情況下爲

error: property 'frame not found on object of type 'UIView *'
error: 1 errors parsing expression

尋找解決的辦法後,我發現我可以使用這個命令來解決這個不添加(討厭,在某些情況下,複雜的)轉換:

expr @import UIKit; 

但我仍然覺得這惱人有這個每次做(爲什麼Xcode不會默認這樣做?!),所以我認爲我應該可以使用.lldbinit文件來做到這一點,但我無法讓它工作。

我不知道很多關於這個文件,我在裏面有這樣ATM:

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

所以我試圖在文件的末尾添加UIKit導入命令,但沒有看它工作。我也試着用command加前綴來無濟於事。這是否可能? (請說是,它會挽救我的生命)

回答

5

lldb會自動導入調試信息告訴我們程序現在很快導入的模塊。所有的作品都不適合第一代Xcode 7發佈。

.lldbinit中的語句在主文件讀入之前運行,它應該有助於設置環境以讀取程序。但是那時候沒有什麼可以導入這些符號的。您需要在讀入主二進制文件之後執行此操作(並且在運行後您確實需要這樣做,因爲我認爲我們需要運行一些代碼來執行此操作。)

目前,最簡單的方法這樣做是爲了在main上創建一個自動繼續斷點,並在該斷點處附加expr @import UIKit語句作爲調試器命令。每創建一個新項目,您都必須執行此操作,但如果您在同一個項目上工作一段時間,則不是一種非常不方便的解決方法。

+1

哇,從來沒有想過這個簡單的解決方案。謝謝!我希望它不會減慢項目運行速度。另外,我認爲將斷點移至用戶解決了多個項目帶來的不便。 –