gdb无法访问字符串地址的内存

3
我使用以下变量编译了一个汇编程序:
.data
x: .long 1337
str: .string "Hallo Welt\n"

在gdb中,我想使用examine命令与str地址配合使用。
(gdb) x str
0x6c6c6148: Cannot access memory at address 0x6c6c6148

我不明白为什么它不能工作。
1个回答

0

0x6c6c6148 代表 'Hall',因此 GDB 正试图将字符串内容解释为地址。来自 手册

addr,开始显示地址
addr 是您希望 GDB 开始显示内存的地址。表达式不一定具有指针值(虽然可能有);它总是被解释为一个字节内存的整数地址。

尝试使用 x/s &str,可能效果更好。


非常感谢!我以为str本身就像C语言中的char*字符串一样是一个地址。 - firefexx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接