`

iOS使用LLDB调试

    博客分类:
  • ios
阅读更多

 

LLDB基础教程:http://lldb.llvm.org/tutorial.html

LLDB命令:

命令                        解释    
break NUM               在指定的行上设置断点。    
bt                      显示所有的调用栈帧。该命令可用来显示函数的调用顺序。    
clear                   删除设置在特定源文件、特定行上的断点。其用法为:clear FILENAME:NUM。    
continue                继续执行正在调试的程序。该命令用在程序由于处理信号或断点而导致停止运行时。    
display EXPR            每次程序停止后显示表达式的值。表达式由程序定义的变量组成。    
file FILE               装载指定的可执行文件进行调试。    
help NAME               显示指定命令的帮助信息。    
info break              显示当前断点清单,包括到达断点处的次数等。    
info files              显示被调试文件的详细信息。    
info func               显示所有的函数名称。    
info local              显示当函数中的局部变量信息。    
info prog               显示被调试程序的执行状态。    
info var                显示所有的全局和静态变量名称。    
kill                    终止正被调试的程序。    
list                    显示源代码段。    
make                    在不退出 gdb 的情况下运行 make 工具。    
next                    在不单步执行进入其他函数的情况下,向前执行一行源代码。    
print EXPR              显示表达式 EXPR 的值。     
print-object            打印一个对象    
print (int) name      打印一个类型    
print-object [artist description]   调用一个函数    
set artist = @"test"    设置变量值    
whatis                  查看变理的数据类型   

 

 

其他调试参考文章:http://blog.csdn.net/kesalin/article/details/7222153

该文章中介绍了一种异常调试方式:

在系统抛出异常处设置断点

有时候我们的程序不知道跑到哪个地方就 crash 了,而 crash 又很难重现。保守的做法是在系统抛出异常之前设置断点,具体来说是在 objc_exception_throw处设置断点。设置步骤为:首先在 XCode 按 CMD + 6,进入断点管理窗口;然后点击右下方的 +,增加新的 Symbolic Breakpoint,在 Symbol 一栏输入:objc_exception_throw,然后点击 done,完成。 这样在 Debug 模式下,如果程序即将抛出异常,就能在抛出异常处中断了。比如在前面的代码中,我让 [firstObjctcrashTest]; 抛出异常。在 objc_exception_throw 处设置断点之后,程序就能在该代码处中断了,我们从而知道代码在什么地方出问题了

分享到:
评论

相关推荐

    iOS 越狱逆向12.4-12.5.5 lldb动态调试包

    总的来说,"iOS 越狱逆向12.4-12.5.5 lldb动态调试包"为开发者和安全研究人员提供了一个强大的工具,通过学习和实践使用lldb进行动态调试,可以深入了解iOS系统的运行机制,从而发现潜在的安全问题或者优化应用性能...

    LLDB调试最佳实践.pdf

    本文档《LLDB调试最佳实践》旨在为初学者提供LLDB调试方面的指导,帮助他们快速入门和高效使用LLDB进行日常调试工作。 文档开始介绍了LLDB命令的构成,这包括命令(command)、子命令(subcommand)、动作(action...

    iOS逆向之lldb调试分析CrackMe1.pdf

    接下来几篇文章将介绍iOS逆向分析中动态调试...主要是使用lldb配合(ida或者Hopper Disassembler)对iOS app的关键算法进行动态调试外加静态分析,从而还原出算法流程及参数。感兴趣的朋友可以下载下来看看,学习学习。

    iOS打的LLDB学习资料-英文版

    这篇iOS打的LLDB学习资料是英文版,涵盖了从基础到进阶的LLDB使用技巧,旨在帮助开发者更好地理解和使用LLDB进行程序调试。 在“Section I: Beginning LLDB Commands”部分,你会学习到LLDB的基础命令,通过一个名...

    最新IOS17.0真机调试包

    在iOS 17.0真机调试中,Xcode扮演着关键角色,它提供了一整套调试工具,如LLDB、Instruments等,帮助开发者查找和修复代码中的问题,优化性能,以及检查内存管理等。 免更新特性意味着开发者可以不必升级到最新的...

    ios15.0真机调试包

    例如,你可以使用LLDB调试器设置断点,检查变量值,跟踪内存分配,以及分析程序的执行流程。此外,Interface Builder可以帮助你直观地设计用户界面,而Instruments则提供性能分析,帮助你优化代码性能。 对于"压缩...

    基于ios逆向过程中lldb调试技巧(推荐)

    总之,熟练运用lldb调试技巧是iOS开发人员必备的技能之一,尤其是在逆向工程中,它可以帮助我们更好地理解代码行为,找出隐藏的错误和漏洞。不断实践和探索lldb的更多功能,将使你在问题解决和代码优化的道路上...

    iOS 越狱逆向LLDB动态调试app 工具 --debugserver

    本文将详细介绍如何使用LLDB和`debugserver`工具在越狱设备上进行动态调试iOS应用。 首先,我们要了解`debugserver`。它是Apple官方提供的一款远程调试服务器,能够允许开发者在设备上运行应用程序,并通过另一台...

    iOS11.1 真机调试包

    在iOS开发过程中,真机调试是一项至关重要的环节,它允许开发者在实际设备上测试应用程序,以确保软件在各种硬件配置和真实使用环境下的表现。这个"iOS11.1真机调试包"是专为使用Xcode进行iOS应用开发的程序员准备的...

    iOS 12 真机调试包

    开发者可以使用Xcode的内置调试工具,如LLDB(Low-Level Debugger)进行断点设置、变量查看、调用堆栈分析等操作。 安装真机调试包的过程包括以下几个步骤: 1. **证书配置**:开发者需要拥有Apple Developer ...

    iOS逆向之lldb常用操作指令.pdf

    首先,要启动lldb调试会话,可以通过Xcode自带的控制台进行。在Xcode中打开目标应用程序的项目,然后通过Product菜单下的Scheme选择Debug模式来启动应用。当应用运行在调试模式时,lldb的调试控制台会自动打开,此时...

    ios11.4真机调试包

    6. **调试工具**:Xcode提供了强大的调试工具,如LLDB调试器、Instruments性能分析工具以及Xcode的内置模拟器。这些工具可以帮助开发者定位和修复代码中的错误,优化性能,以及监控内存使用情况。 7. **测试计划**...

    LLDB调试提交

    通过Xcode IDE,你可以方便地启动LLDB调试会话,或者在终端中直接运行LLDB命令行工具来调试程序。 二、启动调试会话 在Xcode中,你可以选择"Product"菜单下的"Run"或"Debug"选项来启动带有LLDB的调试会话。在代码中...

    iOS 15.5开发者调试包

    5. **使用调试工具**:Xcode内置了强大的调试工具,如LLDB(Low Level Debugger)用于断点、查看变量值、单步执行代码等。此外,还有Instruments,它可以提供性能分析、内存泄漏检测等功能。 6. **测试与优化**:...

    ios13.3 调试包

    在iOS 13.3的环境下,开发者可以使用Xcode的内置调试工具,如Instruments和Xcode的LLDB调试器,对应用进行详细检查。这些工具可以帮助开发者找到内存泄漏、性能瓶颈、界面问题等,并提供实时的日志输出和断点功能。 ...

    ios10.1真机调试包

    Xcode内置了一系列强大的调试工具,如LLDB(LLow-Level Debugger)用于代码断点、变量查看和内存分析;Instruments提供性能分析,如CPU使用率、内存泄漏检测等;Interface Builder允许实时预览界面效果。通过这些...

    IOS操作系统调试案例.rar

    在iOS操作系统中,调试是一个关键的开发过程,用于发现和修复程序中...当程序在断点处暂停时,使用LLDB调试器中的命令(如po、p和v)来打印变量和观察其值。这些命令可以帮助你了解在特定时刻程序的状态。 检查调用栈以

    iOS12.2真机调试包

    使用Xcode,开发者可以编写代码、构建应用,并在连接的iOS设备上进行实时调试。 2. **Apple Developer Account**:为了进行真机调试,开发者需要注册成为Apple Developer Program的成员,这将提供必要的证书和配置...

    iOS10.3真机调试包工具

    在使用这个"iOS10.3真机调试包工具"时,需要注意以下几点: - 确保设备已经更新到iOS 10.3,并且与Xcode版本兼容。 - 开发者需要拥有有效的Apple Developer Program会员资格,才能在真机上进行调试和部署。 - 在...

Global site tag (gtag.js) - Google Analytics