Xcode(7.2) 使用技巧(3)

1、讓XCode反饋足夠多的信息

在Edit–>Scheme裏面 找到Arguments ,在Environment Variables這裏添加

把下面2個值設置成YES

NSAutoreleaseFreedObjectCheckEnabled

NSDebugEnabled

這種方法非常好用,建議在建立一個工程的時候,加入此設置

2. 讓 NSLog 打印出 足夠的信息

//A better version of NSLog

#define NSLog(format, ...) do { \

fprintf(stderr,"<%s : %d> %s\n", \

[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], \

__LINE__, __func__); \

(NSLog)((format), ##__VA_ARGS__); \

fprintf(stderr,"-------\n"); \

} while (0)

這是 把 系統的 NSLog 替換成這個宏了,你也可以 把這個宏 的名字 改改

這個 宏 可以打印出 類名 方法名 行號 ,和你要打印的信息,再也不用擔心,無數的打印,而找不到 打印的地方了,----

使用Objetcive語言(強類型)並且用NSLog打印的時候,常常搞不清楚NSLog(@“%?”,xxx) 這種類型該是什麼什麼類型輸出,應該是%d呢還是%@亦或是%f???根本分不清楚嗎~,所以玩轉NSLog你應該要知道以下這幾個全局方法!


3. 調試過程中 動態的 改變 變量的值  :使用expr命令                           

可以在調試時動態執行指定表達式,並將結果打印出來。常用於在調試過程中修改變量的值。


如圖設置斷點,然後運行程序。程序中斷後輸入下面的命令:

expr a=2

你會看到如下的輸出:

(int) $0 = 2

繼續運行程序,程序輸出的信息是:

實際值:2

很明顯可以看出,變量a的值被改變。 除此之外,還可以使用這個命令新聲明一個變量對象,如:

expr int $b=2

p $b

LLDB調試命令初探:http://www.starfelix.com/blog/2014/03/17/lldbdiao-shi-ming-ling-chu-tan/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章