代码之家  ›  专栏  ›  技术社区  ›  7_R3X

GDB-从堆栈中读取1个单词

  •  0
  • 7_R3X  · 技术社区  · 7 年前

    我想以十六进制的形式从堆栈顶部打印1个单词。为此,我键入以下内容:

    (gdb) x/1xw $esp

    0xffffffffffffe030: Cannot access memory at address 0xffffffffffffe030

    我试图调试的程序已经将一个值推送到堆栈上,所以如果您想知道我可能在程序的一开始就尝试访问内核变量,那么情况并非如此。

    1 回复  |  直到 5 年前
        1
  •  3
  •   Florian Weimer    7 年前

    0xffffffffffffe030 是一个64位常量,因此您在x64位模式下运行。但是 $esp $rsp 。请尝试以下操作:

    (gdb) x/1xw $rsp