Lldb 死活不进断点

LLDB 死活不进断点

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

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

方法二:
po [XXXX _shortMethodDescription];

求解,求轻喷,刚接触

说错了。删除了。

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

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

看来需要这个 GitHub - tobefuturer/restore-symbol: A reverse engineering tool to restore stripped symbol table for iOS app.

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

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

iOS-runtime

- (id)_shortMethodDescription;

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

应该已经获取了

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


http://bbs.iosre.com/t/topic/8717/6

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

2 个赞

确实是这样

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

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

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

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