You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用as汇编、objdump反汇编时自定义段被跳过,该如何解决?

问题原因与解决方法

问题根源

objdump -d 默认仅反汇编**标记为可执行(executable)**的段。你自定义的 a_random_section 未设置可执行属性,GNU汇编器(GAS)会默认将其标记为不可执行,因此被 objdump -d 跳过。

解决方法

方法一:给自定义段添加可执行属性

修改汇编代码,在 .section 指令后添加段属性标记,明确指定该段可分配且可执行:

.section a_random_section, "ax"
# "a" 表示段可分配(会被加载到内存),"x" 表示段可执行

label_number1:
    jmp label_number1

重新编译后,该段会被标记为可执行,objdump -d 就能正常反汇编它。

方法二:强制反汇编所有段

如果不想修改汇编代码,使用 objdump 的 -D(大写)选项,它会反汇编目标文件中的所有段,无论是否标记为可执行:

as -o test.o test.s && objdump -D test.o

内容的提问来源于stack exchange,提问作者TornaxO7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 06:35:19