Is the bug "arm" 'thumb' for lldb still existing in xcode 6.3.1?

我的环境是iPhone 4,iOS 7.1.2,使用爱思助手越狱。我用的是Xcode 6.3.1,lldb的版本是330.0.44,情况是我attach了MobileSMS,使用usbmtx插上USB口进行debug,命令运行结果是
(lldb) version
lldb-330.0.44
(lldb) image list -o -b
[ 0] 0x000e0000 MobileSMS(0x00000000000e1000)
[ 1] 0x000fe000 MobileSubstrate.dylib(0x00000000000fe000)
[ 2] 0x008b2000 Foundation
[ 3] 0x008b2000 UIKit
[ 4] 0x008b2000 AssistantServices
[ 5] 0x008b2000 FTServices
[ 6] 0x008b2000 CoreTelephony
我打开IDA加载Foundation后,地址是2DD80000,不知道是什么原因,无法计算地址。而且这里image list命令显示的结果有很多(没贴全)偏移和偏移后的地址一样,比如MobileSubstrate都是fe000.

求教这是怎么回事,是lldb的那个bug吗,还是我哪块理解错误,先谢了。

你好好看看书吧,命令都输错了

。。。我不就改个参数吗?-f是全路径,-b是基本名(如果我没记错的话)-o是输出地址,输入参数-f和这个的唯一区别就是路径是全的而已。。。

你碰到了什么问题?我还不是很清楚你的问题

@snakeninny
这一部分我也有几个问题不是很明白。

(lldb) image list -o -f 

得到的结果 Foundation为什么显示的是本地的路径

[  2] 0x0207d000 /Users/armil/Library/Developer/Xcode/iOS DeviceSupport/7.1.2 (11D257)/Symbols/System/Library/Frameworks/Foundation.framework/Foundation (这里书上有地址,我的输出没有地址,什么原因呢?)

书上说要用xcode5.0里的lldb(300.x.x)调试 armv7 armv7s ,否则会混淆 ARM和THUMB指令,怎么看是不是混淆了呢?

谢谢。

你的输出是什么样的?
混淆的那个bug,当你的断点被触发时,就可以观察到了

image list -o -f 输出的就是上面的图那样的。

你说的

混淆的那个bug,当你的断点被触发时,就可以观察到了

是什么意思,不是很明白呢?

刚进来断这个看不出来 么?

你只用看第一个16进制的数就可以了,那个是ASLR偏移;
从你截图里断下来的地方看,LLDB是没问题的;你自己再下个断点试试看

谢谢,其实我有两个问题,
第一个问题和那位兄弟一样,就是输出最后为什么没有地址,我理解的格式应该为 ASLR便宜+全路径+圆括号中的偏移后的地址。而这里输出的只有前两个。
[Update:] 这个已经搞明白了,后面没有输出没有关系,IDA中查看偏移前基地址,image list命令查看ASLR偏移,偏移后基地址可以算出来,而且地址和下断点后显示是一样的。
第二个问题就是当有的输出行格式是三个的时候,ASLR偏移和偏移后的地址是相同的,这是为何?
这个表示没有偏移值吗?