XCode调试的 Stack Trace,调试时抛出异常,定位到某一行代码,并且添加变量监视

在Xcode调试程序的时候,总是会出现不知道错误在什么地方的问题,很是捉急,现在又一个办法,可以具体定位到错误行的代码,试一下吧?超级好用

操作很简单:

1、在XCode界面中直接点击选项卡,跳到Breakpoint的tab

2、然后点击左下角的+号,增加一个Exception的断点,如下图所示。

3、接下来会出现一个“All Exception”的调试选项:

4、将鼠标放到上面,右击选择“Edit Breakpoint”,可以查看选项的具体内容如下:(不用做任何修改)

5、当异常出现时,会自动停在异常处,而不会抛出到UIApplicationMain。就可以定位到具体抛出异常的代码了

比如我的有bug的程序使用上面的方法进行调试,代码会自动定位在出现错误的第12行处。

如果需要对变量添加监视,或者手动执行表达式            该操作如VS中添加监视

可以在输出窗口使用      
po 变量名

就可以打印对应的内容

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-18 21:09:18

XCode调试的 Stack Trace,调试时抛出异常,定位到某一行代码,并且添加变量监视的相关文章

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

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

共享库加载时重定位

原作者:Eli Bendersky http://eli.thegreenplace.net/2011/08/25/load-time-relocation-of-shared-libraries 本文的目的是解释现代操作系统怎样使得共享库加载时重定位成为可能.它关注执行在32位x86的LinuxOS.但通用的原则也适用于其它OS与CPU. 共享库有很多名字--共享库,共享对象,动态共享对象(DSO),动态链接库(DLL--假设你有Windows背景).为了统一起见.我将尽量在本文里使用"共享库

共享库载入时重定位

原作者:Eli Bendersky http://eli.thegreenplace.net/2011/08/25/load-time-relocation-of-shared-libraries 本文的目的是解释现代操作系统如何使得共享库载入时重定位成为可能.它关注运行在32位x86的LinuxOS,但通用的原则也适用于其他OS与CPU. 共享库有许多名字--共享库,共享对象,动态共享对象(DSO),动态链接库(DLL--如果你有Windows背景).为了统一起见,我将尽量在本文里使用"共享库

【OT1.0 + TP3.2】开启trace调试、输出调试信息、开启自定义菜单

1.开启trace调试 A- 后台系统设置 show-page-trace = 1 B-config.php文件.配置 show-page-trace = true 2.输出调试信息 很奇怪,OT竟然把 dump.var_dump 都被干掉了,不让用,很是纠结,然后我们可以使用下面方法进行调试: //调试 文件位置\Runtime\Logs\Admin \Think\Log::record('Team->del: '.json_encode($_POST,JSON_UNESCAPED_UNICO

tp5开启trace调试

一.在.env 文件开启或者在config配置文件里开启都可以 ? 二.开启后即可看到页面右下角出现一个图标,点击这个图标即可看到trace调试的具体信息了 点击打开即可看到trace调试的具体信息了. 原文地址:https://www.cnblogs.com/xiaogou/p/11663135.html

XCode + IOS + Flutter真机调试报错

XCode + IOS + Flutter真机调试 报错:Could not build the precompiled application for the device. It appears that your application still contains the default signing identifier. Try replacing 'com.example' with your signing id in Xcode: open ios/Runner.xcwork

Android下的一些调试手段(含kernel调试办法)

主要介绍除了常规的kernel的printk和android的DDMS, logcat外的几个调试手段. 包括bugreport, oprofile, traceview, ftrace等. Bugreport Bugreport是android平台自带的工具, 收集了device端的详细的状况, 可以在console下直接运行"bugreport > /sdcard/bugreport.log"或者接入USB cable并打开adb debug的状况下运行"adb b

转:iOS LLDB调试器和断点调试

本文转自:http://www.cnblogs.com/wfwenchao/p/3991060.html?utm_source=tuicool&utm_medium=referral 技巧一:运行时修改变量的值 你以前怎么验证是不是某个变量的值导致整段程序不能正常工作?修改代码中的变量的值,然后cmd+r重新启动app?现在你不需要这么做了,只需要设置一个断点,当程序在这进入调试模式后,使用expr命令即可在运行时修改变量的值. 假如有一个loginWithUsername:方法,需要两个参数:

jstack命令(Java Stack Trace)

JDK内置工具使用 一.javah命令(C Header and Stub File Generator) 二.jps命令(Java Virtual Machine Process Status Tool) 三.jstack命令(Java Stack Trace) 四.jstat命令(Java Virtual Machine Statistics Monitoring Tool) 五.jmap命令(Java Memory Map) 六.jinfo命令(Java Configuration Inf