不知道大家是不是在代码调试过程中经常遇到项目崩溃的情况:

比如:

数组越界;

没有实现方法选择器;

野指针;

还有很多很多情况。。。。。。。昨天学到了一种可以直接定位到崩溃代码行数的一个命令,记录一下,和大家分享哟!!!

看下面我的崩溃信息:

-- ::12.088 [:] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 3 beyond bounds [0 .. 2]'
*** First throw call stack:
(
CoreFoundation 0x000000010f5be34b __exceptionPreprocess +
libobjc.A.dylib 0x000000010f01f21e objc_exception_throw +
CoreFoundation 0x000000010f4f8eeb -[__NSArrayI objectAtIndex:] +
0x000000010ea4c889 -[ViewController viewDidLoad] +
UIKit 0x000000010fb82c99 -[UIViewController loadViewIfRequired] +
UIKit 0x000000010fb830cc -[UIViewController view] +
UIKit 0x000000010fa4cc51 -[UIWindow addRootViewControllerViewIfPossible] +
UIKit 0x000000010fa4d3a2 -[UIWindow _setHidden:forced:] +
UIKit 0x000000010fa60cb5 -[UIWindow makeKeyAndVisible] +
UIKit 0x000000010f9d9c89 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] +
UIKit 0x000000010f9dfde9 -[UIApplication _runWithMainScene:transitionContext:completion:] +
UIKit 0x000000010f9dcf69 -[UIApplication workspaceDidEndTransaction:] +
FrontBoardServices 0x0000000112b2f723 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ +
FrontBoardServices 0x0000000112b2f59c -[FBSSerialQueue _performNext] +
FrontBoardServices 0x0000000112b2f925 -[FBSSerialQueue _performNextFromRunLoopSource] +
CoreFoundation 0x000000010f563311 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ +
CoreFoundation 0x000000010f54859c __CFRunLoopDoSources0 +
CoreFoundation 0x000000010f547a86 __CFRunLoopRun +
CoreFoundation 0x000000010f547494 CFRunLoopRunSpecific +
UIKit 0x000000010f9db7e6 -[UIApplication _run] +
UIKit 0x000000010f9e1964 UIApplicationMain +
0x000000010ea4cbbf main +
libdyld.dylib 0x000000011239e68d start +
)
libc++abi.dylib: terminating with uncaught exception of type NSException

再看我定位崩溃代码行命令以及结果显示:

(lldb) image lookup --address 0x000000010ea4c889

      Address: [0x0000000100001889] (.__TEXT.__text + )
Summary: `-[ViewController viewDidLoad] + at ViewController.m:
Address: [0x0000000100001889] (.__TEXT.__text + )
Summary: `-[ViewController viewDidLoad] + at ViewController.m:
(lldb)

是不是特别方便定位到崩溃的代码行数在 ViewController.m:20。。。。第20行啦!!!

是不是很简单啊,小伙伴么!!!

iOS定位到崩溃代码行数的更多相关文章

  1. dump文件定位程序崩溃代码行

    1.dump文件 2.程序对应的pdb 步骤一:安装windbg 步骤二:通过windbg打开crash dump文件 步骤三:设置pdb文件路径,即符号表路径 步骤四:运行命令!analyze -v ...

  2. 使用MAP文件快速定位程序崩溃代码行 (转)

    使用MAP文件快速定位程序崩溃代码行 =========================================================== 作者: lzmfeng(http://lz ...

  3. IOS开发 统计XCODE 代码行数

    如果要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 find . -name "*.m" -or -name "*.h" -or -nam ...

  4. iOS开发- 查询项目代码行数

    ...事实上, 这功能也没什么用. 就是查询一个项目总的代码行数. 玩玩倒是能够. 方法: 在终端以下依次输入: cd 项目文件 find . "(" -name "*. ...

  5. 统计iOS项目的总代码行数的方法

    打开终端, 用cd命令 定位到工程所在的目录,然后调用以下命名即可把每个源代码文件行数及总数统计出来: find . "(" -name "*.m" -or - ...

  6. iOS - Xcode项目统计总代码行数

    最新公司需要把项目代码量统计一下,第一时间找到Xcode插件管理工具Alcatraz,查找插件ZLXCodeLine,这是一个快速统计Xcode工程项目代码量的插件,好像已经不支持Alcatraz安装 ...

  7. iOS开发_统计xcode代码行数

    如果要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 find . -name "*.m" -or -name "*.h" -or -nam ...

  8. ios统计代码行数

    要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 列出每个文件的行数: find . -name "*.m" -or -name "*.h" ...

  9. iOS - 统计代码行数

    终端 -> 进入文件夹 查看每一行的行数 find . -name "*.m" -or -name "*.h" -or -name "*.xib ...

随机推荐

  1. 主题:Android、iPhone和Java三个平台一致的加密工具

    先前一直在做安卓,最近要开发iPhone客户端,这其中遇到的最让人纠结的要属Java.Android和iPhone三个平台加解密不一致的问题.因为手机端后台通常是用JAVA开发的Web Service ...

  2. 基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍

    最近花了很多时间在重构和进一步提炼Winform开发框架的工作上,加上时不时有一些项目的开发工作,我博客里面介绍Web开发框架的文章比较少,其实以前在单位工作,80%的时间是做Web开发的,很早就形成 ...

  3. MapReduce 2简介

    在Hadoop 1.0版本中,mapred.job.tracker决定了执行MapReduce程序的方式,若设置为local,则使用本地的作业运行器,若设置为主机:端口(eb179:9001),则该配 ...

  4. 以短链服务为例,探讨免AppKey、免认证、Ajax跨域调用新浪微博API

    新浪微博的API官方提供了很多种调用方式,支持编程的,归根结底就是两种: 1.基于Oauth协议,使用Open API.(http://open.weibo.com/wiki/%E6%8E%88%E6 ...

  5. Java开发常用Linux命令

    1.查找文件 find / -name filename.txt根据名称查找/目录下的filename.txt文件. find . -name "*.xml"递归查找所有的xml文 ...

  6. php分10个不同等级压缩优化图片

    今天找到一个php写的压缩图片程序,可以分10个等级(0-9)来压缩,0等级时压缩比率不是很大,图片不会失真:随着压缩等级不断增大,图片会变得越来越不清晰,通常压缩后图片大小可以减少到原来的50%,压 ...

  7. UIProgressView和UISlider

    UIProgressView和UISlider两个控件长的很像,区别在于UISlider有一个可以改变进度的滑块.虽然样子差不多,提供的属性的功能也差不多,但是属性的名字差别比较大. UIProgre ...

  8. PHP远程下载图片损坏问题

    代码如下: <?php header("Content-type=html/text;charset=utf-8"); function download($file_nam ...

  9. CrashHandler: java.lang.NullPointerException

    08-29 20:33:47.305 20636-20636/com.tongyan.subway.inspect D/AndroidRuntime: Shutting down VM 08-29 2 ...

  10. Spring Boot CLI安装

    Spring Boot是一个命令行工具,用于使用Spring进行快速原型搭建.它允许你运行Groovy脚本,这意味着你可以使用类Java的语法,并且没有那么多的模板代码. 你没有必要为了使用Sprin ...