GDB 用法之自动显示

设置一些自动显示的变量,当程序停住时,或是在你单步跟踪时,这些变量会自动显示。

如:

(gdb) display $rsp

(gdb) display $rbp

(gdb) info display
Auto-display expressions now in effect:
Num Enb Expression
1:   y  $rsp
2:   y  $rbp
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/05-param-return

Breakpoint 1, main () at 05-param-return.c:10
10      {
1: $rsp = (void *) 0x7fffffffe108
2: $rbp = (void *) 0x0

(gdb) s
11              int a = 5, b = 6;
1: $rsp = (void *) 0x7fffffffe0f0
2: $rbp = (void *) 0x7fffffffe100

(gdb) s
13              max(&a, &b);
1: $rsp = (void *) 0x7fffffffe0f0
2: $rbp = (void *) 0x7fffffffe100

(gdb) s
max (a=0x555555555210 <__libc_csu_init>, b=0x7ffff7facfc8 <__exit_funcs_lock>) at 05-param-return.c:4
4       {
1: $rsp = (void *) 0x7fffffffe0e8
2: $rbp = (void *) 0x7fffffffe100

(gdb) n
5               if (*a < *b)
1: $rsp = (void *) 0x7fffffffe0e0
2: $rbp = (void *) 0x7fffffffe0e0

(gdb) n
6                       *a = *b;
1: $rsp = (void *) 0x7fffffffe0e0
2: $rbp = (void *) 0x7fffffffe0e0

(gdb) n
7       }
1: $rsp = (void *) 0x7fffffffe0e0
2: $rbp = (void *) 0x7fffffffe0e0

(gdb) n
main () at 05-param-return.c:14
14              printf("a, b max %d\n", a);
1: $rsp = (void *) 0x7fffffffe0f0
2: $rbp = (void *) 0x7fffffffe100

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值