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

 更新时间:2023年09月04日 09:58:29   作者:凌肖战  
这篇文章主要介绍了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 变量名 " 的不同效果。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • linux脚本基础详细介绍

    linux脚本基础详细介绍

    本文通过详细讲解linux脚本中的翻译字符、变量数组、各种命令设定等,现在我们大家一起来学习吧
    2021-08-08
  • linux下修改文件权限chmod命令详细解析

    linux下修改文件权限chmod命令详细解析

    大家好,本篇文章主要讲的是linux下修改文件权限chmod命令详细解析,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Linux之如何设置CPU Performance模式

    Linux之如何设置CPU Performance模式

    这篇文章主要介绍了Linux之如何设置CPU Performance模式问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Linux系统的修复模式(单用户模式)

    Linux系统的修复模式(单用户模式)

    大家好,本篇文章主要讲的是Linux系统的修复模式(单用户模式),感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • SSH在登录服务器后如何显示基础信息

    SSH在登录服务器后如何显示基础信息

    这篇文章主要介绍了SSH在登录服务器后如何显示基础信息的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • centOS7 桥接模式设置静态Ip的方法步骤

    centOS7 桥接模式设置静态Ip的方法步骤

    这篇文章主要给大家介绍了关于centOS7 桥接模式设置静态Ip的方法步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用centOS7具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 虚拟机使用PuTTY、SSH Secure Shell Client前的配置

    虚拟机使用PuTTY、SSH Secure Shell Client前的配置

    这篇文章主要介绍了虚拟机使用PuTTY、SSH Secure Shell Client前的配置的相关资料,需要的朋友可以参考下
    2017-01-01
  • Godaddy VDS Simple Control Panel出错的解决方法

    Godaddy VDS Simple Control Panel出错的解决方法

    Godaddy VDS Unix提供的简易的Simple Control Panel服务器控制面板,但是对于我这款VDS中最低档次的服务器,内存256M来说,要运行所有的服务器组件服务,是个不小的考验
    2010-03-03
  • 深入理解Linux网络之内核是如何发送网络包的

    深入理解Linux网络之内核是如何发送网络包的

    这篇文章主要介绍了Linux网络内核是如何发送网络包的,文章通过代码示例介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2023-07-07
  • linux系统终端修改字体的方法

    linux系统终端修改字体的方法

    我们以debian为例,介绍两种linux修改终端字体的设置方法,大家参考使用吧
    2014-01-01

最新评论