xcode调试技巧

方法一:

转自: http://mmdev.iteye.com/blog/1498654


有时程序崩溃根本不知错误发生在什么地方。比如程序出现EXEC_BAD_ACCESS的时候,虽然大部分情况使用设定NSZombieEnabled环境变量可以帮助你找到问题的所在,但少数情况下,即使设定了NSZombieEnabled环境变量,还是不知道程序崩溃在什么地方。那么就需要使用下列代码进行帮助了:





#ifdef _FOR_DEBUG_
- ( BOOL )respondsToSelector : ( SEL )aSelector {
printf ( "SELECTOR: %s\n", [NSStringFromSelector (aSelector )UTF8String ] );
return [super respondsToSelector :aSelector ];
}

#endif

你需要在每个object的.m或者.mm文件中加入上面代码,并且在other c flags中加入-D _FOR_DEBUG_(记住请只在Debug Configuration下加入此标记)。这样当你程序崩溃时,Xcode的console上就会准确地记录了最后运行的object的方法。








方法二:

转自: http://www.cocoachina.com/macdev/cocoa/2010/0421/1151.html




有好多异常,无法正常进入断点时,程序会直接退出,比如:


这时候我们甚至不知道使在哪出现的这个错误,OK,打开Run>>Debugger 找到程序退出位置:



然后添加一个软断点  Run->Manage Breakpoints -> Add symbolic breakpoint, 并输入objc_exception_throw


重新运行调试

错在哪儿是不是很容易就找到 了 :)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值