我的应用程序正在崩溃,它似乎陷入了异常断点(这是有道理的),但我无法找到崩溃的原因.
这是我尝试过的:
> po $eax
> po $rax
> po $r0
> po *(id *)($esp 4)
对于上述所有尝试,我收到以下错误:
错误:使用未声明的标识符’$< register name>‘
错误:解析表达式时出错1次
我也找到了这个LLDB Command Guide,但没有找到任何有用的东西(有点令人困惑,你不知道你在寻找什么).
如何打印崩溃的原因?
我正在运行iOS 8,lldb和Xcode 6.
编辑
现在我明白为什么找不到这些寄存器.这是我运行寄存器读取时得到的结果:
General Purpose Registers: x0 = 0x0000000000000001 x1 = 0x0000000000000000 x2 = 0x0000000000000000 x3 = 0x0000000195531a74 libsystem_malloc.dylib`nano_free_definite_size x4 = 0x0000000000000000 x5 = 0x0000000000000000 x6 = 0x676e697274534643 x7 = 0x0000000000000f80 x8 = 0x00000001569d5a10 x9 = 0x0000000000000000 x10 = 0x000001a574056051 x11 = 0x0000000000000001 x12 = 0x000000000000003d x13 = 0x0000000000000000 x14 = 0x0000000000000001 x15 = 0x0000000000000052 x16 = 0x0000000194d6e510 libobjc.A.dylib`object_setClass x17 = 0x0000000000000000 x18 = 0x0000000000000000 x19 = 0x00000001702823f0 x20 = 0x0000000174038eaa x21 = 0x000000019130a778 "release" x22 = 0x0000000000000000 x23 = 0x0000000174246d20 x24 = 0x0000000174038ea0 x25 = 0x00000001895d22fa "forwardingTargetForSelector:" x26 = 0x00000001745186a0 x27 = 0x0000000000000000 x28 = 0x00000000a40008ff fp = 0x0000000105757720 lr = 0x000000018462a440 CoreFoundation`___forwarding___ + 968 sp = 0x00000001057576c0 pc = 0x000000018462a440 CoreFoundation`___forwarding___ + 968 cpsr = 0x20000000
正如您所看到的那样,使用的寄存器不包含我之前尝试过的任何寄存器.但是,我仍然无法找到例外.
解决方法
你应该输入:
po $arg1
有关更多信息,请查看:How to replace NSUncaughtExceptionHandler with definition in Breakpoint navigator?