Linux下gdb调试打印字符串方式
一. gdb 调试打印字符串
在 gdb 调试中,有时候需要打印一些字符串。
可以使用如下命令进行字符串的打印。
如下:
x/s 命令
以下面代码为例,说明打印字符串的操作。
代码如下:
#include <stdio.h>
int main(void)
{
char buffer[100] = {0};
snprintf(buffer, sizeof(buffer), "%s", "hello,world!");
printf("***buffer: %s\n", buffer);
return 0;
}下面打印 buffer 中的字符串,
操作如下:

可以看到,当输入 x/s buffer 命令时,打印了数组 buffer 中的字符串。
二. 打印变量的类型与变量所在的文件
打印变量类型
在 gdb 调试中,有时候需要打印变量的类型,
命令入下:
whatis 变量名 或 ptype 变量名
以下面代码为例,说明一下打印变量的类型操作,
代码如下:
#include <stdio.h>
struct student{
char name[100];
int age;
};
int main(void)
{
struct student st = {"Tom", 20};
printf("***st.name: %s, st.age: %d\n", st.name, st.age);
return 0;
}下面在 gdb 调试中,打印变量的类型。
可以看到 whatis 命令与 ptype 命令都可以打印变量的类型,而 ptype 类型打印出了更详细的变量类型信息。

可以看到,查看 变量类型的命令 " whatis 变量名 " 或者 " ptype 变量名 " 的不同效果。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End W
这篇文章介绍了解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-05-05
VMware 12 下 Ubuntu 16.04 安装图文教程
这篇文章主要为大家详细介绍了VMware 12 下 Ubuntu 16.04 安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-06-06


最新评论