开发者

Linux下gdb调试打印字符串方式

目录
  • 一. gdb 调试打印字符串
  • 二. 打印变量的类型与变量所在的文件
    • 打印变量类型
  • 总结

    一. gdb 调试打印字符串

    gdb 调试中,有时候需要打印一些字符串。

    可以使用如下命令进行字符串的打印。

    如下:

    x/s 命令

    以下面代码js为例,说明打印字符串的操作。

    代码如下:

    #include <stdio.h>
    int mainhttp://www.devze.com(void)
    php{
        char buffer[100] = {0};
        snprintf(buffer, sizeof(buffer), "%s", "hello,world!");
    javascript    printf("***buffer: %s\n", buffer);
        return 0;
    }

    下面打印 buffer 中的字符串,

    操作如下:

    Linux下gdb调试打印字符串方式

    可以看到,当输入 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 类型打印出了更详细的变量类型信息。

    Linux下gdb调试打印字符串方式

    可以看到,查看 变量类型的命令 " whatis 变量名 " 或者 " ptype 变量名 " 的不同效果。

    总结

    以上为个人经验,希望能给大家一个编程客栈参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新运维

    运维排行榜