GDB 用法之显示寄存器

    info reg可以显示寄存器内容。

    在寄存器名之前加$可以显示寄存器内容,

        p $寄存器:显示寄存器内容

        p/x $寄存器:十六进制显示寄存器内容。

    用x命令可以显示内容内容,”x/格式 地址”。

        x $pc:显示程序指针内容

        x/i $pc:显示程序指针汇编。

        x/10i $pc:显示程序指针之后10条指令。

        x/256wx 0xffffe1e0:从0xffffe1e0开始以16进制打印256个word。

        x/10w $esp        // 显示栈里的10个数据,其中左边第一列是栈地址。
        
        x/s 0x0803020a    // 栈中字符串格式的内存地址(指针)
        x/s $rdi

        x/5i 0x0803020a    // 显示出这个地址开始的指令

        x/10g $rsp        // 显示栈中的数值,g 代表 giant words.

(gdb) info reg
rax            0x11                17
rbx            0x555555555210      93824992236048
rcx            0x555555555210      93824992236048
rdx            0x0                 0
rsi            0x7fffffffe1e8      140737488347624
rdi            0x1                 1
rbp            0x7fffffffe0f0      0x7fffffffe0f0
rsp            0x7fffffffe0d0      0x7fffffffe0d0
r8             0x0                 0
r9             0x7ffff7fe0d50      140737354009936
r10            0x27                39
r11            0x2                 2
r12            0x555555555080      93824992235648
r13            0x7fffffffe1e0      140737488347616
r14            0x0                 0
r15            0x0                 0
rip            0x5555555551ae      0x5555555551ae <main+69>
eflags         0x206               [ PF IF ]
cs             0x33                51

(gdb) p $rbp
$4 = (void *) 0x7fffffffe0f0
(gdb) p/x $rsp
$5 = 0x7fffffffe0d0
(gdb) x $rsp
0x7fffffffe0d0: 0x00000000
(gdb) x/i $rsp
   0x7fffffffe0d0:      add    %al,(%rax)
(gdb) x/10w $rsp
0x7fffffffe0d0: 0x00000000      0x00000000      0x00000011      0x00005555
0x7fffffffe0e0: 0xffffe1e0      0x00007fff      0x1c51fd00      0xb9db1d2d
0x7fffffffe0f0: 0x00000000      0x00000000

    原文作者:xiaozhiwise
    原文地址: https://blog.csdn.net/xiaozhiwise/article/details/123247408
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞