3

我用以下变量编译了一个汇编程序:

.data
x: .long 1337
str: .string "Hallo Welt\n"

在 gdb 中,我想使用带有 str 地址的检查命令。

(gdb) x str
0x6c6c6148: Cannot access memory at address 0x6c6c6148

我不明白为什么它不起作用。

4

1 回答 1

0

0x6c6c6148 是“Hall”,因此 gdb 试图将字符串内容解释为地址。从手册

addr,起始显示地址
addr是您希望 GDB 开始显示内存的地址。表达式不需要有指针值(尽管它可能);它总是被解释为内存字节的整数地址。

试试看x/s &str,可能效果更好。

于 2012-10-03T11:45:09.483 回答