Xcode(7.2) 使用技巧(3)

本文提供了一套XCode调试方法和Objective-C NSLog使用技巧,包括如何让XCode反馈更多信息,使用自定义宏进行更详细的日志记录,以及动态改变变量值的方法。同时介绍了如何在调试过程中利用expr命令修改变量值,实现更高效的代码调试。

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/


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值