因此,在汇编中,我声明以下字符串:
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