Lldb 死活不进断点


#1

LLDB 死活不进断点

方法一:
LLDB连接到程序
调动命令image -o -f查看app二进制偏移
在hopper或者IDA查看需要下断点的函数的文件偏移
LLDB输入br s -a 'app二进制偏移+函数的文件偏移'

断点设置成功,就是死活不进断点;

方法二:
po [XXXX _shortMethodDescription];


#2

求解,求轻喷,刚接触


#3

说错了。删除了。


#4

第一个问题就是设置成功之后,lldb 感觉就是函数没有触发;但是确定内存地址都是正确的

第二个问题我是看的连接:http://bbs.iosre.com/t/lldb-objective-c/6711 上面没说明是实例还是类方法...


#5

看来需要这个 https://github.com/tobefuturer/restore-symbol


#8

但是我的为什么就是死活不进断点呐... 还有为什么连接上程序之后,po [BaseMsgContentViewController _shortMethodDescription] 就是获取不到方法呐... stackover 上说只能ios7, try catch ?


#9

唉.... 论坛搜索功能不够强大啊.... 还是 continue 解决了....


#10

iOS-runtime

- (id)_shortMethodDescription;

所以是实例方法, 可以用 [[BaseMsgContentViewController alloc] init] _shortMethodDescription]

应该已经获取了

因为那个oc方法本身没有符号表所以用的是上一个符号+偏移的方式来表示而已



#11

其实直接调用[BaseMsgContentViewController _shortMethodDescription]也没有毛病,因为在运行时中NSObject元类的父类就是NSObject类,所以你调用+方法的函数到最后真正调用的也是那个-方法。


#12

确实是这样


#13

所以说这个问题怎么解决呢?

error: Execution was interrupted, reason: internal ObjC exception breakpoint(-3)..
The process has been returned to the state before expression evaluation. 


#14

app是不是一个是debug版本一个是release版本的呀


#15

我也遇到同样的问问题:错发断点之后 就爆这个错误 哥们咋解决的?