Xcode 如何调试 快速定位出错行

今天开发APP的时候,出现如下错误:

2015-03-27 21:03:02.816 Lightta[4120:1592638] *** Terminating app due to uncaught exception ‘NSInvalidArgumentException‘, reason: ‘*** -[__NSCFConstantString stringByAppendingString:]:
nil argument‘

*** First throw call stack:

(0x2627645f 0x34139c8b 0x262763a5 0x26ee6923 0x95251 0x95123 0xcbc17 0x67c51 0x26fab89f 0x2623cfbf 0x2623c3cf 0x2623aa35 0x261883b1 0x261881c3 0x2d775201 0x297f243d 0xc9205 0x346c5aaf)

libc++abi.dylib: terminating with uncaught exception of type NSException

然后,网上搜索了好久,发现如下解决方法:

在 Xcode 的 Breakpoint Navigator 里面添加一个异常断点(Add Exception Breakpoint),然后将断点条件设置成 Exception:
Object-C
,这样就能在异常抛出之前断下来,你就可以查看当时的调用栈。

注意最好在快要执行到出问题代码的时候才打开这个断点,否则会不断被各种异常干扰。

挺好用的,分享给大家了!

时间: 2024-10-12 14:47:19

Xcode 如何调试 快速定位出错行的相关文章

【excel技巧读书笔记020】快速定位行首行尾

1.定位数据区域行首行尾    CTRL+home 定位数据区域行首    CTRL+end 定位数据区域末行尾 2. 定位当前行.列的首尾    Ctrl+方向上键到行首    Ctrl+方向下键到行尾    Ctrl+方向左键到行左    Ctrl+方向右键到行右 3. 双击单元格上边线.下边线.(我最喜欢的方式)

如何快速定位 Linux Panic 出错的代码行

问题描述 内核调试中最常见的一个问题是:内核Panic后,如何快速定位到出错的代码行? 就是这样一个常见的问题,面试过的大部分同学都未能很好地回答,这里希望能够做很彻底地解答. 问题分析 内核Panic时,一般会打印回调,并打印出当前出错的地址: kernel/panic.c:panic(): #ifdef CONFIG_DEBUG_BUGVERBOSE /* * Avoid nested stack-dumping if a panic occurs during oops processin

【iOS开发】如何在程序出错崩溃时快速定位到具体出错代码行

[写在前面]最近在做iOS的开发.之前开发Android应用程序的时候程序出错时很容易根据logcat信息获取错误类型并且定位到具体出错的代码行,但是最近在做iOS的时候发现Xcode无法定位到具体错误行.搜索了一下,找到了解决办法,还挺简单. 步骤1 在xcode添加一个通用断点就行了.方法如下: 点击项目导航断点那,如图 步骤2 点击+号: 一步步按上面图完成操作. 再运行程序 自动就断点到这里来了, log信息是: 1 2013-05-20 11:14:19.635 GestureReco

「Python调试器」,快速定位各种疑难杂症!!!

现在很多的编辑器其实都带着「调试程序」的功能,比如写 c/c++ 的 codeblocks,写 Python 的 pycharm,这种图形界面的使用和显示都相当友好,简单方便易学,这个不是我这篇文章要讲的重点.今天主要是想给大家介绍一下 「Python调试器」,快速定位各种疑难杂症. Python 调试器 这一部分主要就是想说两个 Python 调试器,分别是标准库自带的 pdb 和开源的 ipdb. pdb pdb 是 Python 自带的库,为 Python 提供了一种交互式的源码调试功能,

ollydbg快速定位方便调试

在ollydbg调试的时候,会看到大量的汇编代码(远多于源代码),代码中有大量的函数嵌套调用,调试起来周期很长,难度比较大. 所以我们希望能快速定位到代码,以下是快速定位的四种方法: 1.Goto命令 执行Goto命令(Ctrl+G),输入跟踪表达式确定后,执行Excute Still Cursor(F4)命令. 2.设置断点 快捷键F2设置断点. 3.注释 键盘按下";"键,输入注释,便于查找. 4.标签 键盘按下":"键,输入标签,便于查找.

[原]调试实战——程序CPU占用率飙升,你知道如何快速定位吗?

原调试debugwindbghangprocess explorer 前言 如果我们自己的程序的CPU Usage(CPU占用率)飙升,并且居高不下,很有可能陷入了死循环.你知道怎么快速定位并解决吗?今天跟大家分享几种定位方法,希望对你有所帮助. 如何判断是否有死循环? 通过电脑风扇的声音猜测. 如果风扇一直响个不停,说明电脑很热.高CPU占用率会导致CPU发热量增大,从而导致风扇狂响.如果听到风扇响个不停,可以打开任务管理器看看CPU占用率是不是很高.如果发现是我们的进程导致的高CPU占用率,

90%的人会遇到性能问题,如何用1行代码快速定位?

简介:如何在众多异常性能指标中,找出最核心的那一个,进而定位性能瓶颈点,最后进行性能调优.整篇文章会按照代码.CPU.内存.网络.磁盘等方向进行组织,针对对某一各优化点,会有系统的「套路」总结,便于思路的迁移实践. 1. 代码相关 遇到性能问题,首先应该做的是检查否与业务代码相关——不是通过阅读代码解决问题,而是通过日志或代码,排除掉一些与业务代码相关的低级错误.性能优化的最佳位置,是应用内部. 譬如,查看业务日志,检查日志内容里是否有大量的报错产生,应用层.框架层的一些性能问题,大多数都能从日

iOS开发之Xcode常用调试技巧总结

两种最常见最普通的方法: 1.NSLog,最简单的方法,查看变结 中是否有值,有什么值,是不是自己需要的值,然后找到bug. 2.po命令,在程序进入断点处,在控制台中输入po 变量名,也可以像NSLog一样查看变量是否有值,有什么值. 今天主要介绍点高大上的方法. 一.Memory Graph Xcode8新增:Memory Graph解决闭包引用循环问题 这个时候就进入了断点模式,可以查看issue面板,注意选择右边Runtime: 有很多叹号说明就有问题了.看内存中object的名字,有一

iOS开发——调试篇&Xcode常用调试技巧

Xcode常用调试技巧 Enable NSZombie Objects(开启僵尸对象) Enable NSZombie Objects可能是整个Xcode开发环境中最有用的调试技巧.这个技巧非常非常容易追踪到重复释放的问题.该技巧会以非常简洁的方式打印指出重复释放的类和该类的内存地址. 怎么开启僵尸对象呢?首先打开“Edit Scheme”(或者通过热键?<),然后选择Diagnostics选项卡,勾选Enable NSZombie Objects选项. 现在我们可以关掉ARC来测试重复释放的问