XCode的除錯困擾

2021-05-25 14:51:00 字數 586 閱讀 5367

今天遇到好鬱悶的事。

xcode4的乙個很著名的問題是,**上傳會失敗,報了個奇怪的字串。

然後本來也xcode3的除錯很麻煩,變數觀察時有時無。

所以xcode4在除錯時也出現象.net的loca 觀察窗,就方便多了。

然後今天發現c的優化好過分,比如:

uint conx1 = 32;

除錯時觀察不到conx1的值,特意用add express 說是:variable optimized away by compiler;

甚至 uint conx2 = conx1 * 10 也是一樣的報告。。

感覺這個編譯器也太自戀了,意思是conx1,conx2是多餘的,你直接寫32,320就好了。

所以拒絕顯示conx1的值。

xcode的優化功能是挺強悍的,一些判定不可能執行的**無法設定斷點,也單步不到。

然後如果類的定義有成員:irate

那麼如果使用這個類的函式裡有irate的區域性變數,那就悲劇了,觀察區域性變數irate,實際顯示的是類成員irate的值。。所以類的成員還是獨特點吧。

補:run如果選擇debug配置,可看的變數會多些。發布時再改回發布的配置

xcode除錯技巧

有時程式崩潰根本不知錯誤發生在什麼地方。比如程式出現exec bad access的時候,雖然大部分情況使用設定nszombieenabled環境變數可以幫助你找到問題的所在,但少數情況下,即使設定了nszombieenabled環境變數,還是不知道程式崩潰在什麼地方。那麼就需要使用下列 進行幫助了...

Xcode除錯技巧

xcode從預設使用lldb後,有很多實用的除錯技巧,這裡簡單介紹一下。log the called method func 1 nslog s pretty function set breakpoint 1 lldb breakpoint set n uiview setframe 新增斷點,設...

Xcode除錯技巧

xcode從預設使用lldb後,有很多實用的除錯技巧,這裡簡單介紹一下。1nslog s pretty function 1 lldb breakpoint set n uiview setframe 新增斷點,設定action為sound,然後勾選automatically continue af...