温馨提示×

如何查看CentOS汇编代码

小樊
43
2026-08-19 07:33:01
栏目: 智能运维

CentOS 上查看“汇编代码”,常见有几种不同场景。下面按最常用 → 进阶给你系统说明,并附示例命令。


一、查看 C/C++ 程序对应的汇编代码(最常用)

1️⃣ 用 gcc -S 生成汇编文件(推荐)

gcc -S test.c

生成:

test.s

查看:

cat test.s

✅ 适合学习汇编、调试编译过程
✅ 可读性好(AT&T 语法)


2️⃣ 生成 Intel 语法汇编(更直观)

gcc -S -masm=intel test.c

3️⃣ 查看已编译程序的汇编(反汇编)

使用 objdump

objdump -d a.out

只反汇编 main

objdump -d a.out | grep -A 20 "<main>:"

Intel 语法:

objdump -M intel -d a.out

二、查看正在运行的程序汇编(调试)

1️⃣ 使用 gdb(最常用)

gdb ./a.out

常用命令:

disassemble main

或:

disassemble

查看当前执行位置:

info registers

设置 Intel 语法:

set disassembly-flavor intel

2️⃣ 查看某行 C 代码对应的汇编

gcc -g test.c -o test
gdb ./test
layout split

(同时显示 C 代码和汇编)


三、查看系统调用 / 内核相关汇编

1️⃣ 查看系统调用号(x86_64)

cat /usr/include/asm/unistd_64.h

2️⃣ 查看内核模块汇编

objdump -d your_module.ko

四、查看 CPU 支持的汇编指令(进阶)

cat /proc/cpuinfo | grep flags

五、CentOS 常见工具安装(如缺失)

sudo yum install gcc gdb binutils -y

六、快速对照表

目的 命令
编译生成汇编 gcc -S test.c
Intel 语法 gcc -S -masm=intel test.c
反汇编程序 objdump -d a.out
调试汇编 gdb ./a.out
Intel 风格反汇编 objdump -M intel -d a.out

七、如果你愿意,我可以进一步帮你

你可以直接告诉我:

  • ✅ 是想 学汇编 还是 逆向 / 调试
  • ✅ 是 x86 / x64 / ARM
  • ✅ 是 用户态程序 还是 内核 / 驱动

我可以给你 针对 CentOS 的完整实战示例

0