Jus*_*cle 11 debugging null objective-c
我刚被一个令人讨厌的bug所困扰,这个bug被Objective-C中的"发送消息给nil确定"行为所掩盖.
我见过发送消息给零?而且共识似乎是'我们如何在Objective-C中滚动'.
现在,也许我没有足够的Objective-C经验,但似乎陷入困境似乎是有用的,因为我无法想到为什么大多数时候应该这样做的一个很好的理由.然而,它可能只是一个我不习惯的编码习语.
所以除了检查nil之外,如此:
assert( object != nil );
[object message];
Run Code Online (Sandbox Code Playgroud)
有没有办法让运行时捕获这种情况,并警告何时object为零?
您可以使用ObjC未记录的技巧或dtrace(请参阅dtrace解决方案的注释).
pid$1::objc_msgSend:entry
/arg0==0/
{
ustack();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1071 次 |
| 最近记录: |