关于arm和thumb的理解,向各位请教

我在学习lldb的调试
lldb显示


跟hopper显示不一样hopper显示的是thumb 指令,我用的lldb是lldb-900.0.0.64,ios8,ipod touch 5但我有个疑问:
我汇编语言了解不多,有个问题向大家请教,谢谢
1.是hopper显示为thumb指令错了?还是lldb显示为arm指令错了?
2.网上有些回答说是lldb的bug,装低版本的lldb指令就显示为thumb指令,那就ok了。这给我的感觉就是说同一条指令,它即可以用arm格式显示也可以用thumb显示,那这就跟thumb是arm的子集矛盾了,如果是子集,那么肯定是有些指令用thumb表示不了的,这搞得我有点糊涂,请大侠们指教一下,万分感谢!

应该是LLDB的bug;现在新的LLDB对armv7和armv7s的支持很烂,换arm64设备应该就不存在这个问题了

谢谢,我试试

我也遇到,基本只是显示问题,其实断点还是能下的,也能正常跑,对着IDA看就好了。

1 个赞

disass -A armv7 , disass -A thumbv7

or

1 个赞