【iOS开发】如何在程序出错崩溃时快速定位到具体出错代码行

【写在前面】最近在做iOS的开发。之前开发Android应用程序的时候程序出错时很容易根据logcat信息获取错误类型并且定位到具体出错的代码行,但是最近在做iOS的时候发现Xcode无法定位到具体错误行。搜索了一下,找到了解决办法,还挺简单。

步骤1

在xcode添加一个通用断点就行了。方法如下:

点击项目导航断点那,如图

步骤2

点击+号:

一步步按上面图完成操作。

再运行程序

自动就断点到这里来了,

log信息是:

1 2013-05-20 11:14:19.635 GestureRecognizer[1491:c07] -[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x7a88df0
2 2013-05-20 11:15:21.148 GestureRecognizer[1491:c07] *** Terminating app due to uncaught exception ‘NSInvalidArgumentException‘, reason: ‘-[__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x7a88df0‘  

这样很简单就能发现程序崩溃是因为value没有 isEqualToString方法。

如果我没加上面这个通用的断点,那程序会直接断点到main函数去。

PS:这个方法只能绝大部分这样的崩溃。有少部分错误是断不到了。

时间: 2024-08-07 04:31:36

【iOS开发】如何在程序出错崩溃时快速定位到具体出错代码行的相关文章

ios开发 上传到App Store 时出错. iTunes Store Operation Failed, An Error occurred uploading to the iTunes store.

ios开发 上传到App Store 时出错. iTunes Store Operation Failed,    An Error occurred uploading to the iTunes store. 的解决方法,网上找了很多. 如下(当然没有解决我的问题,可以一试): 今天在提交app的时候,最后一步报错, An error occurred uploading to the iTunes Store! 后来上网查了查资料,在这里整理一下: 第一: 有可能是中文编码的问题,需要把编

iOS开发UI篇—程序启动原理和UIApplication

iOS开发UI篇-程序启动原理和UIApplication 一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示. (3)通过[UIApplicationsharedApplication]可以获得这个单例对象 (4) 一个iOS程序启动后创建的第一个对

让程序在崩溃时体面的退出之Dump文件

在我的那篇<让程序在崩溃时体面的退出之CallStack>中提供了一个在程序崩溃时得到CallStack的方法.但是要想得到CallStack,必须有pdb文件的支持.但是普通情况下,公布出去的程序都是Release版本号的,都不会附带pdb文件.那么我们怎么能在程序崩溃的时候找到出错的详细位置呢?这个时候就该Dump文件出场了!Dump文件是进程的内存镜像,能够把程序执行时的状态完整的保存下来.         要想在程序崩溃的时候创建Dump文件,就须要用到DbgHelp.dll中Wind

swift语言 编写 ios开发 第一个程序hello world!

老实说:第一个swift语句的ios不是代码敲出来的,我甚至还没来得急看代码,hello world 就出来了..... 本人开发环境:mac osx 10.10 dp1 + xcode6 beta + swift(更低xcode不支持swift语言) 思路与大致过程: 1.建立工程,工程包含界面文件,代码文件等等 2.在工程的界面文件中加入text控件,用于显示hello world 3.输入hello world ,模拟运行 让我们一步一步来: 1.建立工程,工程包含界面文件,代码文件等等

iOS开发-Xcode6应用程序国际化本地化

[置顶] iOS开发-Xcode6应用程序国际化本地化 分类: iOS开发2014-10-11 19:44 3116人阅读 评论(0) 收藏 举报 ios应用国际化本地化xcodeiOS国际化终极教程 应用程序国际化和本地化 本文来自:http://blog.csdn.net/yangbingbinga/article/details/39998673转载请注明出处 1.国际化.首先创建一个工程,在  Localizations里面添加你需要支持的语言 2.然后对要国际化的东西  如,故事板 右

iOS开发精选知识点讲解 - 视频等 iOSStrongDemo是由@李刚维护,总结一些iOS开发精选知识点。每一个知识点都有相应的测试代码,非常适合iOS初学者。

https://github.com/worldligang/iOSStrongDemo iOSStrongDemo是由@李刚维护,总结一些iOS开发精选知识点.每一个知识点都有相应的测试代码,非常适合iOS初学者. 涉及功能点 iOS9横竖屏设置的处理方法和实例讲解 iOS开发之如何跳到系统设置里的WiFi界面 iOS视频播放器 UIWebView用法详解及代码分享 使用UIDataDetectorTypes自动检测电话.网址和邮箱 iOS开发之NSTimer使用初探 iOS开发之NSStri

编写的windows程序,崩溃时产生crash dump文件的办法

一.引言 dump文件是C++程序发生异常时,保存当时程序运行状态的文件,是调试异常程序重要的方法,所以程序崩溃时,除了日志文件,dump文件便成了我们查找错误的最后一根救命的稻草.windows程序产生dump文件和linux程序产生dump文件的方式不一样,linux默认是不让产生core dump文件,只要在用户自己的~/.bash_profile文件中增加 ulimit -S -c unlimited > /dev/null 2>&1 这样程序崩溃就可以产生可调试的core d

[转载自 文顶顶]iOS开发UI篇—程序启动原理和UIApplication

一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示. (3)通过[UIApplicationsharedApplication]可以获得这个单例对象 (4) 一个iOS程序启动后创建的第一个对象就是UIApplication对象,且只有一个(通过代码获

【转】iOS开发UI篇—程序启动原理和UIApplication

原文 http://www.cnblogs.com/wendingding/p/3766347.html 一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示. (3)通过[UIApplicationsharedApplication]可以获得这个单例对