mac开发系列34:xcode条件断点和符号断点

断点调试是遇到问题时的必用套路,但是很多时候,普通断点并不能满足需求,下面简单介绍两种更好用的断点。
1、条件断点
当我们需要在循环里加断点,并针对满足某种条件的一些迭代时,如果用普通断点,就得不停地“Continue program execution”,直至等到目标迭代,这样的做法显然太低效了。那么来看看条件断点是怎么玩的:



2、符号断点
**** 当我们需要调试的代码是在框架的实现文件里时,普通断点根本没法添加,因为框架的实现文件是不可见的。这时候就需要用到符号断点了,例如对于一些无法重现的crash,可以添加一个抛异常函数objc_exception_throw的符号断点来守株待兔:


这样,当发生crash,就可以拿到具体的堆栈了。不过,符号断点没法预先和特定的业务代码绑定,例如objc_exception_throw是所有业务模块抛异常都会调用的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容