首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lldb-360.1.65(xcode8.1) disas命令出现结果错误

lldb-360.1.65(xcode8.1) disas命令出现结果错误
EN

Stack Overflow用户
提问于 2016-11-02 22:22:38
回答 1查看 152关注 0票数 0

我今天安装了Xcode 8.1。它包括版本为360.1.65的lldb。当我使用lldb在iOS 7.1.2上调试armv7二进制文件时。它不能自动关闭拇指代码。这是我使用disas命令得到的结果。

代码语言:javascript
复制
(lldb) disas -s 0x709d8 -e 0x709e0
networkd`_mh_execute_header:
0x709d8 <+39384>: b      0xff3aca20
0x709dc <+39388>: .long  0xf64c6940      ; unknown  opcode    

我在lldb-350.0.21.9 (Xcode 7.3.1)上测试了相同的代码,没有问题。

代码语言:javascript
复制
(lldb) disas -s 0x479d8 -e 0x479e0
networkd`___lldb_unnamed_function192$$networkd:
0x479d8 <+352>: blx    0x57f74                   ; symbol stub for:     xpc_data_get_bytes_ptr
0x479dc <+356>: ldr    r0, [r0, #0x14]
0x479de <+358>: movw   r0, #0xc800    

有人能帮我吗。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-11-03 06:00:58

关于代码是arm还是thumb的信息被携带在符号表中,调试器读取该信息。看起来就像在8.0示例中,你正在反汇编不在函数中的代码(它在二进制头中),所以我们找不到正确的架构来使用。7.1示例位于一个我们可以识别的函数中(尽管它的名称已被剥离...)所以我们做对了。

作为一种解决办法,您可以通过将-A thumb传递给disassemble来强制选择。

如果您在反汇编已识别函数中的代码时也看到此问题,那么您应该向http://bugreporter.apple.com提交一个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40382321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档