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

比如:

数组越界;

没有实现方法选择器;

野指针;

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

看下面我的崩溃信息:

-- ::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. javascript中的this指向问题

    在深入学习JavaScript之后,我们越来越多的会遇到函数或者在对象内部中,对于this的指向问题的疑惑,其实基本上每一个编程语言中都有一个this,这个this的指向都是大同小异,你也可以汉化它的 ...

  2. C# 操作Word知识汇总

    转自:http://blog.csdn.net/jiutao_tang/article/details/6574740 1. 微软官方实例: 段落.表格.图表 HOW TO:利用 Visual C# ...

  3. 8、java继承中的this和super的应用

    java中只支持单继承,这是为了防止继承的父类中出现同样的函数不知道调用哪个好.虽然java只支持单继承但是有多实现来补偿. 子父类出现后,类成员的特点: 类中成员:1,变量.2,函数.3,构造函数. ...

  4. Spring学习 Ioc篇(三)

    1.在注解注入方式中,首先要在xml中引入如下的红线的命名空间: <?xml version="1.0" encoding="UTF-8" ?> & ...

  5. Internetware网构软件(摘抄)

    The Internet provides a global open infrastructure for exchanging and sharing of various resources f ...

  6. Shell 显示带颜色字体

    格式: echo "/033[字背景颜色;字体颜色m字符串/033[控制码"如果单纯显示字体颜色可以固定控制码位0m.格式: echo "/033[字背景颜色;字体颜色m ...

  7. python(23)re函数:compile、match、search、findall

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python ...

  8. UML精粹2 - 开发过程

    迭代和瀑布过程 两者的本质区别是,你如何将一个项目分解为更小块. 瀑布风格基于活动来分解项目.为了构建软件,你不得不做某些活动:需求分析.设计.编码和测试.为期一年的项目可能有2个月的分析阶段,然后是 ...

  9. 使用 Jmeter 做 Web 接口测试

    接口测试概述 定义 API testing is a type of software testing that involves testing application programming in ...

  10. web.xml 的加载过程

    初始化过程: 在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>. 接着容器会创建一个Serv ...