时间:2021-05-02
假如你准备在模拟器里面运行这个,你可以在“(lldb)”提示的后面输入下面的:
(lldb) po $eax
LLDB在xcode4.3或者之后的版本里面是默认的调试器。假如你正在使用老一点版本的xcode的话,你又GDB调试器。他们有一些基本的相同的命令,因此假如你的xcode使用的是“(gdb)”提示,而不是“(lldb)”提示的话,你也能够更随一起做,而没有问题。
“po”命令是“print object”(打印对象)的简写。“$eax”是cup的一个寄存器。在一个异常的情况下,这个寄存器将会包含一个异常对象的指针。注意:$eax只会在模拟器里面工作,假如你在设备上调试,你将需要使用”$r0″寄存器。
例如,假如你输入:
(lldb) po [$eax class]
你将会看像这样的东西:
(id) $2 = 0x01446e84 NSException
这些数字不重要,但是很明显的是你正在处理的NSException对象在这里。
你可以对这个对象调用任何方法。例如:
(lldb) po [$eax name]
这个将会输出这个异常的名字,在这里是NSInvalidArgumentException,并且:
(lldb) po [$eax reason]
这个将会输出错误消息:
(unsigned int) $4 = 114784400 Receiver () has no segue with identifier 'ModalSegue'
注意:当你仅仅使用了“po $eax”,这个命令将会对这个对象调用“description”方法和打印出来,在这个情况下,你也会得到错误的消息。
以上这篇基于ios逆向过程中lldb调试技巧(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言在iOS项目开发过程中,常用到静态分析(Analyze)、断点(BreakPoint)和控制台(Console)进行代码调试。本篇文章介绍Xcode常用调试
调试器的使用编译输出带调试信息的程序调试信息包含:指令地址、对应源代码及行号指令完成后,回调LINUX使用GDBMAX使用LLDB使用说明//开始调试testl
在从iOS8到iOS9的升级过程中,弹出提示框的方式有了很大的改变,在Xcode7,iOS9.0的SDK中,苹果已经明确提示不再推荐使用UIAlertView,
什么是橱窗推荐?淘宝橱窗推荐有哪些技巧?下面淘宝托管小编为大家讲解!所谓的橱窗推荐,意思是指把自己店铺中宝贝作为优质产品,客户在搜索这类产品的过程中,会优先展现
很多卖家朋友在操作的过程中,对于超级推荐还是一个模糊的状态,知道有超级推荐这个工具,知道超级推荐跟标签有关系,但是还没有掌握到超级推荐入池首页技巧是什么,所