让XCode的 Stack Trace信息可读
来源:互联网 发布:盐城数据产业园能去吗 编辑:程序博客网 时间:2024/04/28 03:26
让XCode的 Stack Trace信息可读
转自
http://blog.devtang.com/blog/2012/11/14/make-stack-trace-more-readable/
昨天在写iOS代码的时候,调试的时候模拟器崩溃了。异常停在了如下整个main函数的入口处:
XCode的Console界面报出了一些出错信息, 如下图所示:
我根据Console里面的文字提示信息,猜出应该是出现了空指针nil的操作。但是具体出错在哪一行,却不知道。最终虽然找到了bug,但是debug的过程确实费了些时间。考虑到这个stace trace信息应该对我挺有帮助才对的,所以我就查了一下如何让这原本一堆16进制的调用栈信息更可读。于是在stackoverflow上找到了2个比较好的解决办法,在这里分享给大家。
方法一
该方法的步骤是,首先在你的AppDelegate中定义一个方法, 用于处理异常:
然后在应用启动时,设置这个方法作为自己的自定义异常回调:
完成之后,当对于上面的异常,在定义了这个回调之后,Log信息变成如下所示,出错行一目了然,根据下面的可读的stack trace,我一下就可以找到是QuestionParser这个类的第378行导致的异常,进而可以跳到出错行分析原因,很容易就把bug修复了。
方法二
方法二相比方法一更加简单,具体做法是在XCode界面中按cmd + 6跳到Breakpoint的tab,然后点击左下角的+号,增加一个Exception的断点,如下图所示。这样,当异常出现时,会自动停在异常处,而不会抛出到UIApplicationMain。拿我的有bug的程序来说,代码会自动断在QuestionParser这个类的第378行。
总结
其实以前XCode是能显示出可读的stack trace信息的,似乎到了XCode4.2以后就出问题了。所以上面提到的2个办法相当于walk around解决了XCode4.2以后出现的bug。如果该文章对你有用,希望你能帮我点击下面的分享按钮,分享给更多朋友,同时也帮我宣传一下博客,这将有助于我分享更多的心得给大家,Have fun!
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让XCode的 Stack Trace信息可读
- 让Xcode的 stack trace信息可读
- 让XCode Crash的 Stack Trace信息可读
- Xcode的 stack trace信息
- iOS小技巧14- 调试bug技巧-打印XCode的 Stack Trace信息
- 编程获得程序运行的Trace stack信息
- 关于学习oracle的PLSQL的完整笔记
- 看大神文章小结——微软等面试 23,24,25,26
- 深入分析Cocos2d-x 2.0中的“纹理”
- Android项目常用的几种对话框
- android开源框架
- 让XCode的 Stack Trace信息可读
- php页面上错误显示
- SQL优化
- sql查询将列里面的值替换为别的值但是实际值不变
- cocos2d-x坐标系统
- 第七次试验
- Android 录制音频示例
- SqlServer 删除字段约束
- 我在ios游戏开发中遇到的一些问题