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 中的字符串。

二. 打印变量的类型与变量所在的文件

1. 打印变量类型

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 变量名 " 的不同效果。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值