iOS定位到崩溃代码行数
不知道大家是不是在代码调试过程中经常遇到项目崩溃的情况:
比如:
数组越界;
没有实现方法选择器;
野指针;
还有很多很多情况。。。。。。。昨天学到了一种可以直接定位到崩溃代码行数的一个命令,记录一下,和大家分享哟!!!
看下面我的崩溃信息:
-- ::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定位到崩溃代码行数的更多相关文章
- dump文件定位程序崩溃代码行
1.dump文件 2.程序对应的pdb 步骤一:安装windbg 步骤二:通过windbg打开crash dump文件 步骤三:设置pdb文件路径,即符号表路径 步骤四:运行命令!analyze -v ...
- 使用MAP文件快速定位程序崩溃代码行 (转)
使用MAP文件快速定位程序崩溃代码行 =========================================================== 作者: lzmfeng(http://lz ...
- IOS开发 统计XCODE 代码行数
如果要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 find . -name "*.m" -or -name "*.h" -or -nam ...
- iOS开发- 查询项目代码行数
...事实上, 这功能也没什么用. 就是查询一个项目总的代码行数. 玩玩倒是能够. 方法: 在终端以下依次输入: cd 项目文件 find . "(" -name "*. ...
- 统计iOS项目的总代码行数的方法
打开终端, 用cd命令 定位到工程所在的目录,然后调用以下命名即可把每个源代码文件行数及总数统计出来: find . "(" -name "*.m" -or - ...
- iOS - Xcode项目统计总代码行数
最新公司需要把项目代码量统计一下,第一时间找到Xcode插件管理工具Alcatraz,查找插件ZLXCodeLine,这是一个快速统计Xcode工程项目代码量的插件,好像已经不支持Alcatraz安装 ...
- iOS开发_统计xcode代码行数
如果要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 find . -name "*.m" -or -name "*.h" -or -nam ...
- ios统计代码行数
要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 列出每个文件的行数: find . -name "*.m" -or -name "*.h" ...
- iOS - 统计代码行数
终端 -> 进入文件夹 查看每一行的行数 find . -name "*.m" -or -name "*.h" -or -name "*.xib ...
随机推荐
- c++代码美化
int main() if else return 0; int main() if else return 0; int main() if else return 0; int main() if ...
- QTableWidget实用技巧(转)
http://blog.csdn.NET/mingxia_sui/article/details/7681863 在使用Qt不多的日子里,已经两次用到了QTableWidget这个控件,也慢慢的习惯和 ...
- 035. asp.netWeb用户控件之四通过用户控件实现投票和结果分析
用户控件Vote.ascx代码 <%@ Control Language="C#" AutoEventWireup="true" CodeFile=&qu ...
- JAVA自定义事件监听完整例子---sunfruit[转]
http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f733628a854d2c90c05f9313071601 ...
- oracle控制文件丢失恢复
在学习群里有个同学误删除了控制文件,于是我也把自己数据库的控制文件删除了,看看能不能进行恢复,以下是整个实验的过程~~在做之前,先看看控制文件的备份方式:1.生成可以重建控制文件的脚本.2.备份二进制 ...
- [家里蹲大学数学杂志]第056期Tikhonov 泛函的变分
设 $\scrX$, $\scrY$ 是 Hilbert 空间, $T\in \scrL(\scrX,\scrY)$, $y_0\in\scrY$, $\alpha>0$. 则 Tikhonov ...
- 鸟哥的linux私房菜学习
cat /etc/shells 系统拥有的shellcat /etc/passwd 记录用户使用的shell按两次 tab 键可显示所有可执行的指令alias 查看所有命令的别名alias lm='l ...
- 课堂笔记--Strom并发模型
Strom并发模型: topology是如何运行的?(可与mapreduce对比) 第一层:cluster 第二层:supervisor(host.node.机 ...
- Spark Streaming、HDFS结合Spark JDBC External DataSouces处理案例
场景:使用Spark Streaming接收HDFS上的文件数据与关系型数据库中的表进行相关的查询操作: 使用技术:Spark Streaming + Spark JDBC External Data ...
- 剑指Offer:面试题26——复制复杂的链表(java实现)
问题描述: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点). 思路1: 1.先复制链表节点,并用next链接起来. 2.然后对每一个结点去修改 ...