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/


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