如何以代码形式插入断点

想要捕捉程序中的 异常,有很多手段 。

比如: try crash、

NSAssert 断言

abort(); 退出程序。。

 

如果有些异常不太确定呢,或者说你仅仅需要提醒开发者,当异常出现时。并由开发者判断是否有问题,没有问题的话我要继续运行下去。。

恰好 上面那些异常捕捉手段都不能满足 可以 continue

如果能用代码来让程序停下,并打印日志和 调用堆栈
[NSThread callStackSymbols是不是很cool。

#define Debugger() { raise( SIGINT ) ; }

或者

#define Debugger()    { kill( getpid(), SIGINT ) ; }

效果:

 

跟在Xcode 中设置的断点一样。

 

参考:http://stackoverflow.com/questions/1149113/breaking-into-the-debugger-on-iphone

 

 

posted @ 2015-10-27 15:09  hhhker  阅读(1345)  评论(0编辑  收藏  举报