【发布时间】:2021-04-28 02:30:35
【问题描述】:
我正在使用 Assembly,我正在尝试像这样打印 dst 和 src 定义:
.section __DATA,__data
src:
.string "hey Hello"
dst:
.space 20
p src 以十六进制输出,但我真正想要的是打印 ASCII 字符以进行正确的调试:
(lldb) p src
(void *) $3 = 0x4141414141414141
【问题讨论】:
-
@NateEldredge 实际上我得到了
error: failed to read memory from 0x4141414141414141 -
0x41... 既不是值也不是地址。 (例如 ASCII
H是 0x48)。是否可能在某个地方定义了另一个同名符号,或者在 libc 中可能还有另一个像这样的非全局标签? (顺便说一句,如果你想回复 Nate,请在他的回答下发表评论。) -
我重新编译了它,实际上我得到了
(lldb) x/s src 0x6c6c654820796568: "" -
这对于一个 qword 来说似乎是合理的,因为 x86-64 是 little-endian;它至少在某处包含 0x48。