在 CentOS 上查看“汇编代码”,常见有几种不同场景。下面按最常用 → 进阶给你系统说明,并附示例命令。
gcc -S 生成汇编文件(推荐)gcc -S test.c
生成:
test.s
查看:
cat test.s
✅ 适合学习汇编、调试编译过程
✅ 可读性好(AT&T 语法)
gcc -S -masm=intel test.c
objdumpobjdump -d a.out
只反汇编 main:
objdump -d a.out | grep -A 20 "<main>:"
Intel 语法:
objdump -M intel -d a.out
gdb(最常用)gdb ./a.out
常用命令:
disassemble main
或:
disassemble
查看当前执行位置:
info registers
设置 Intel 语法:
set disassembly-flavor intel
gcc -g test.c -o test
gdb ./test
layout split
(同时显示 C 代码和汇编)
cat /usr/include/asm/unistd_64.h
objdump -d your_module.ko
cat /proc/cpuinfo | grep flags
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 |
你可以直接告诉我:
我可以给你 针对 CentOS 的完整实战示例。