gdb

17      int main()
18      {
19              int i=0;
20              int m = 5;
21              f();
22              for(i = 0; i < 100; ++i)
23              {
24                      m++;
25              }
26              return 0;
27      }

 0x0804844c <+0>:     lea    0x4(%esp),%ecx
   0x08048450 <+4>:     and    $0xfffffff0,%esp
   0x08048453 <+7>:     pushl  -0x4(%ecx)
   0x08048456 <+10>:    push   %ebp
   0x08048457 <+11>:    mov    %esp,%ebp
   0x08048459 <+13>:    push   %ecx
   0x0804845a <+14>:    sub    $0x10,%esp
=> 0x0804845d <+17>:    movl   $0x0,-0xc(%ebp)
   0x08048464 <+24>:    movl   $0x5,-0x8(%ebp)
   0x0804846b <+31>:    call   0x8048420 <f()>
   0x08048470 <+36>:    movl   $0x0,-0xc(%ebp)
   0x08048477 <+43>:    jmp    0x8048481 <main()+53>
   0x08048479 <+45>:    addl   $0x1,-0x8(%ebp)
   0x0804847d <+49>:    addl   $0x1,-0xc(%ebp)
   0x08048481 <+53>:    cmpl   $0x63,-0xc(%ebp)
   0x08048485 <+57>:    jle    0x8048479 <main()+45>
   0x08048487 <+59>:    mov    $0x0,%eax
   0x0804848c <+64>:    add    $0x10,%esp
   0x0804848f <+67>:    pop    %ecx
   0x08048490 <+68>:    pop    %ebp
   0x08048491 <+69>:    lea    -0x4(%ecx),%esp
   0x08048494 <+72>:    ret    


(gdb) b 24 if i==50
Breakpoint 1 at 0x8048474: file aaa.c, line 23.

(gdb) condition 1 i==60               #1是beakpoint的编号

(gdb) watch m

(gdb)  p i=60      #强制设置i的值

(gdb) x/4xw 0xbfffb804
0xbfff93b4:     0x00000003      0xb7ed1ca0      0xb7ed0ff4      0xb7ff3b90

(gdb) p/x i
$10 = 0x3c
(gdb) p/x m
$11 = 0x39

(gdb) j *0x08048470 #跳转到指定的指令





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值