GDB调试汇编

调试Debug,可以逐步逐行的执行代码,查看汇编代码的寄存器状态,变量的值等更为详细的信息,方便排查错误。下文使用简单的GDB调试,对GDB调试的一个简单的使用。

调试步骤

  1. 进入调试
  2. 设置断点
  3. 运行
  4. 单步执行
  5. 查看寄存器信息
  6. 查看某个寄存器的值
  7. 离开调试

demo.s汇编文件,内容如下,生成demo可执行文件

section .data

section .text

global _main

_main:
    mov eax, 1
    inc eax
    mov ebx, eax

mov eax, 1
mov ebx, 0
int 80h

gdb 可执行文件名称,例如demo

gdb demo

即可进入调试,进入之后,每行都会以(gdb)开头,剩下的命令在(gdb)里面执行

然后设置断点(break)

b _main

运行(run)

r

单步执行(next instruction)

nexti

查看寄存器状态(info registers)

i r

在这里插入图片描述

查看单个寄存器的值(print $register)

p $rax

默认打印十进制的值,也可以以其他进制输出
在这里插入图片描述

离开调试(quit)

q

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值