在XCode 4中调试异常

由于AVAudioRecorder实例上的方法调用,我很难到达抛出异常的底部.我设置了异常断点,但我无法从堆栈跟踪中收集任何有用的信息.抛出异常的点是在调用时:

[记录器preparetoRecord];

如果我关闭断点,应用程序运行正常,没有任何负面影响.录音机正常运行.需要明确的是,情况的具体情况并不那么重要.更多的情况是“在这样的情况下我应该做些什么才能解决问题?”我看不到任何有关手头工具问题的方法.关于ACBaseCodec的文档似乎陈旧,并且没有说明可能导致异常抛出的内容.

Debug Navigator中的堆栈跟踪:

从单个线程堆栈跟踪:

有没有办法知道是什么导致了这个异常?

解决方法

不幸的是,我认为AVAudioPlayer和AVAudioRecorder似乎在prepareto中使用C异常作为其正常处理流程的一部分.因此,如果在所有异常上启用中断,则没有真正的方法可以避免在那里停止.你可以继续继续并完成它.另一种可能的解决方法是仅启用Objective-C异常,因为它似乎抛出了C异常.这就是我做的.对不起,这不是一个答案,为什么他们为prepare做准备决定…超出了我.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...