【问题标题】:A way to print with memory address in gdb一种在 gdb 中使用内存地址打印的方法
【发布时间】:2020-10-06 04:57:14
【问题描述】:

有没有办法在 gdb 中打印某些内容时包含内存地址。例如:

>>> p __libc_argc
$4 = 1

相反,我想要:

>>> p __libc_argc
$4 = 0x7fffffffec63  1

【问题讨论】:

  • 你可以先打印&__libc_argc
  • @Barmar 可以,谢谢。 >>> x/d &__libc_argc0x7ffff7fc0e78 <__libc_argc>: 1.

标签: c gdb


【解决方案1】:

要打印变量的内存地址,只需在其名称前添加&。如果您经常想要打印变量地址及其值,则可能值得为此创建一个命令。例如,将以下代码添加到您的 .gdbinit 文件中

define pwa
  print &$arg0
  print $arg0
end

有了这个,您将拥有一个pwa 命令(“print with address”的缩写),当您想要同时打印地址和值时,您可以使用它来代替标准的print 命令。

【讨论】:

    猜你喜欢
    • 2015-04-06
    • 2010-12-21
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多