LLDB从库中打印出NSException名称或类

时间:2014-05-29 12:07:38

标签: ios xcode debugging lldb

在Xcode中我使用“All Objective-C exception”断点,但我想跳过一些特定的NSException。 我在this文章中找到了有关如何跳过某些特定NSException名称的所有信息,它适用于我在代码中添加的所有@try{} @catch

不幸的是,我被迫使用一个大量使用@try @catch作为对象之间通信方式的库,当应用程序在断点处停止时,我无法确切知道{{1名字。

这是代码停止的地方:

eax = 0x0d3c73f0
ebx = 0x00a675a8  @"databaseName"
ecx = 0x00b61d01  
edx = 0x00b61d01  
edi = 0x00a655a8  @"MessagingClientLib: initInstance must be called prior to getInstanceRuntimeException: Application ID is required"
esi = 0x000039d1  iDCP`-[UIView(FrameMucking) setOrigin:] + 65 at UIView+FrameMocking.h:103
ebp = 0xbfffc928
esp = 0xbfffc91c
ss = 0x00000023
eflags = 0x00000286
eip = 0x03a738b9  libobjc.A.dylib`objc_exception_throw
cs = 0x0000001b
ds = 0x00000023
es = 0x00000023
fs = 0x00000000
gs = 0x0000000f

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

为objc_exception_throw选择堆栈帧,然后输入以下命令:

(lldb) po *(id *)($esp + 4) // reason
(lldb) po *(id *)($esp + 12) // name