gdb查看内存和寄存器以及中断设置(转)

1. 查看寄存器
(gdb) i r
(gdb) i r a # 查看所有寄存器(包括浮点、多媒体)
(gdb) i r esp
(gdb) i r pc

2. 查看内存
(gdb) x /wx 0x80040000 # 以16进制显示指定地址处的数据
(gdb) x /8x $esp
(gdb) x /16x $esp+12
(gdb) x /16s 0x86468700 # 以字符串形式显示指定地址处的数据
(gdb) x /24i 0x8048a51 # 以指令形式显示指定地址处的数据(24条)

3. 修改寄存器的值
(gdb) set $v0 = 0x004000000
(gdb) set $epc = 0xbfc00000

4. 修改内存的值
(gdb) set {unsigned int}0x8048a51=0x0
(gdb) set (unsigned int)0x8048a54=0x55aa55aa

5. 内存搜索
Usage: find

(gdb) define find
set $ptr = $arg0
set c n t = 0 w h i l e ( ( cnt = 0 while ( ( cnt=0while((ptr<=KaTeX parse error: Expected 'EOF', got '&' at position 7: arg1) &̲& (cnt< a r g 2 ) ) i f ( ∗ ( u n s i g n e d i n t ∗ ) arg2) ) if ( *(unsigned int *) arg2))if((unsignedint)ptr == $arg3 )
x /wx $ptr
set $cnt = $cnt + 1
end
set $ptr = $ptr + 4
end
end

6. 断点、监测点
(gdb) b *0x80400000
(gdb) watch *(unsigned int *)0xbffff400==0x90909090
原文

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值