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

比如:

数组越界;

没有实现方法选择器;

野指针;

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

看下面我的崩溃信息:

-- ::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. MFC 中编辑框数字限制范围

    http://www.cnblogs.com/ziwuge/archive/2011/11/15/2249541.html void CSAAlt::OnEnChangeSlocp()//样本盘号输入 ...

  2. JavaScript 中的window.event代表的是事件的状态,jquery事件对象属性,jquery中如何使用event.target

    http://wenda.haosou.com/q/1373868839069215 http://kylines.iteye.com/blog/1660236 http://www.cnblogs. ...

  3. EM算法 The EM Algorithm

    (EM算法)The EM Algorithm http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html EM算法原理 http: ...

  4. U盘安装Win7操作系统

    玩转Windows7系统镜像四部曲 Step 1: 下载Win7 ISO系统镜像 温馨提示:请您尽量选用Win7之家​提供的官方原版镜像安装,因为正版比各种所谓的"精简版.纯净版" ...

  5. Logstash安装及部署

    安装及部署 一.环境配置 操作系统:Cent OS 7 Logstash版本:2.1.1.tar.gz JDK版本:1.7.0_51 SSH Secure Shell版本:XShell 5 二.操作过 ...

  6. 通过Java Api与HBase交互(转)

    HBase提供了Java Api的访问接口,掌握这个就跟Java应用使用RDBMS时需要JDBC一样重要,本文将继续前两篇文章中blog表的示例,介绍常用的Api. import java.io.IO ...

  7. NeHe OpenGL教程 第四十八课:轨迹球

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  8. QT学习之路--菜单、工具条、状态栏

    下面一些是 Menu Bar,用于显示菜单;再下面一点事 Toolbar areas,用于显示工具条,Status Bar,就是状态栏. Qt 提供了一个 QStatusBar 类来实现状态栏. Qt ...

  9. Ajax+json实现菜单动态级联

    1:jsp //级联ajax处理函数 function areaChange(){    var areano=document.all("areaNo").value;    v ...

  10. Android如何使用NoHttp

    NoHttp 源码及Demo托管在Github欢迎大家Star: https://github.com/yanzhenjie/NoHttp NoHttp是专门做Android网络请求与下载的框架. N ...