gdb调试时查看汇编代码

在gdb中查看汇编代码,可以使用display命令或x命令。

以下是一个示例程序,我们以它为例来演示如何在gdb中查看汇编代码。

cpp 复制代码
#include <stdio.h>  
  
int main() {  
    int a = 10;  
    int b = 20;  
    int c = a + b;  
    printf("c = %d\n", c);  
    return 0;  
}

我们使用gcc编译生成可执行文件。

bash 复制代码
gcc -g -o program program.c

然后,我们使用gdb启动程序。

bash 复制代码
gdb program
复制代码
在gdb中,我们可以使用display命令查看汇编代码。以下是一个示例命令序列:
bash 复制代码
break main  
run  
display /i $pc

解释一下:

  • break main:在main函数入口处设置一个断点,以便我们可以在这里开始执行程序。
  • run:启动程序并运行到断点处。
  • display /i $pc:显示当前指令的汇编代码。其中,/i表示以汇编代码格式显示,$pc表示当前程序的计数器的值,也就是当前指令的地址。

在gdb中,可以使用x命令查看内存内容。以下是一个示例命令序列:

bash 复制代码
break *0x400510  
run  
x/x $pc

解释一下:

  • break *0x400510:在地址0x400510处设置一个断点,以便我们可以在这里开始执行程序。这个地址是main函数的入口地址。
  • run:启动程序并运行到断点处。
  • x/x $pc:使用x命令查看当前指令的地址和汇编代码。其中,/x表示以十六进制格式显示,$pc表示当前程序计数器的值,也就是当前指令的地址。
相关推荐
水饺编程1 天前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
Zevalin爱灰灰1 天前
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础
linux·汇编·arm开发·嵌入式
Zevalin爱灰灰1 天前
Linux入门第二部分(ARM裸机篇) 第三章 汇编LED驱动实验
linux·汇编·arm开发
水饺编程2 天前
第2章:Linux 基础,制作【.tar.xz】压缩包文件
linux·c语言·汇编
小向是个Der4 天前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
二十七日秋4 天前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
银河麒麟操作系统4 天前
两案例入选全球计算联盟年度产业应用案例汇编
大数据·汇编·人工智能
abc light4 天前
ARM 裸机开发(2)——ARM 汇编与启动代码
汇编·arm开发
soso19685 天前
Modbus协议开发实战指南
汇编
水饺编程6 天前
第2章:Linux 基础,解压缩【.tar.gz】压缩包
linux·c语言·汇编