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

比如:

数组越界;

没有实现方法选择器;

野指针;

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

看下面我的崩溃信息:

-- ::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. HTML、html

    1.HTTPS(超文本传输协议,HyperText Transfer Protocol)        超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息.HTTP协议以明文方式发 ...

  2. linux shell 使用总结

    为什么执行脚本要使用./ +脚本名来执行脚本理解:因为如果直接使用脚本名,那么linux 系统会去path 路径查找如去/bin usr/bin 等查找,这个时候会找不到这个脚本名字,就会报错.使用. ...

  3. Nginx日志常用分析命令汇总 (转)

    三.常用日志分析命令 1.总请求数 1 wc -l access.log |awk '{print $1}' 2.独立IP数 1 awk '{print $1}' access.log|sort |u ...

  4. knockout 学习实例7 foreach

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. change-resource-tags.sh

    #!/bin/bash ids=$(aws ec2 describe-instances --filter "Name=tag:Project,Values=ERPSystem" ...

  6. WeX5学习笔记-建立项目且从SVN获取版本

    UI2项目(app项目)建立步骤: 1.从网上获得WeX5_V3.1.1.zip 文件,在某盘根目录下,创建一个文件,起名尽量短小,因开发包里的文件目录层次很深,有时会报路径长度超出范围的提示,如创建 ...

  7. 【uTenux实验】事件标志

    事件标志是一个用来实现同步的对象,由多个位组成,用作指示对应事件存在的标志.事件标志由用来指示对应事件存在的位模式(bitpattern)和一个等待事件标志的任务队列组成. uTenux提供了一组AP ...

  8. 外联css及js的使用

    结构图如下: html如下: <!DOCTYPE html> <html> <head> <title>button test</title> ...

  9. Unity5版本的AssetBundle打包方案之打包Scene场景

    using UnityEngine; using System.Collections; using UnityEditor; /// <summary> /// 脚本位置:Editor文 ...

  10. Codeforces 721D [贪心]

    /* 不要低头,不要放弃,不要气馁,不要慌张. 题意: 给一列数a,可以进行k次操作,每次操作可以选取任意一个数加x或者减x,x是固定的数.求如何才能使得这个数列所有数乘积最小. 思路: 贪心...讨 ...