调试Cocoa应用程序中的异常

tit*_*coy 4 debugging cocoa

我正在使用NSTextView开发应用程序.当我将随机字节粘贴到其中时(例如,从已编译的C程序中),它会显示乱码,就像它应该的那样.但是,当I -setShowsControlCharacters:YES时,同样会导致崩溃并多次出现以下错误:

2008-11-22 00:27:22.671 MyAppName[6119:10b] *** -[NSBigMutableString _getBlockStart:end:contentsEnd:forRange:stopAtLineSeparators:]: Range or index out of bounds

我用一个具有相同属性的NSTextView创建了一个新项目,它没有这个问题.

我的问题是,如何调试我的应用程序以查找错误原因?我不知道bug的来源.我不熟悉Xcode内置的调试器.如果有人能指出我如何追踪这样的错误,我将非常感激.谢谢.

Ash*_*ark 10

另一组有用的断点设置,当你调试Cocoa程序是objc_exception_throw-[NSException raise].在10.5中,所有异常都会通过,objc_exception_throw但如果你的目标是Tiger,你应该在两者上设置一个断点.

http://www.cocoadev.com/index.pl?DebuggingTechniques上有更多调试技术.

  • 一些更有用的断点:CGPostError,malloc_printf,_objc_error. (2认同)