因此,在汇编中,我声明以下字符串:

Sample db "This is a sample string",0


在GDB中,我键入“ p Sample”(不带引号),它吐出0x73696854。我想要实际的字符串打印出来。因此,我尝试使用“ printf“%s”,示例”(再次,不带引号),它吐出“无法访问地址0x73696854上的内存”。

精简版:
如何在GDB中打印字符串?

最佳答案

我的老师刚刚给我发了电子邮件。对于任何想知道的人:

p(char[20]) Sample


其中20是要打印的字符数。

要打印以C样式NUL结尾的字符串,您还应该能够执行以下操作:

print (char*) &Sample
printf "%s", &Sample

07-24 09:45
查看更多