【发布时间】:2020-01-05 02:10:34
【问题描述】:
我想在调试期间将十六进制值解释为字符串,以便我知道存储的内容。我不知道该命令是什么,因此非常感谢任何帮助。
考虑这个例子
#include <stdio.h>
#include <string.h>
int main(){
char str_b[] = "Hello";
printf("%s",str_b);
return 0;
}
当我反汇编主要方法时,我得到以下
现在,如何使用 gdb 将第 4 行解释为字符串?我尝试了s 命令,但它对我不起作用。
【问题讨论】:
-
在Seeing register contents in ASCII in gdb 中,我回答了一个gdb 宏,它可以用ASCII 打印寄存器的内容,但它适用于任何类型的值,在你的情况下是
asciiprint (int)0x6c6c6548。