首页 > 其他分享 >GDB调试之变量查看与修改

GDB调试之变量查看与修改

时间:2024-01-11 15:55:57浏览次数:35  
标签:字节 查看 函数 GDB 结束符 字符串 断点 调试 变量

一、查看函数参数

调试代码下载地址

使用命令"p  参数名称"可以查看指定参数的值,如果想一次性查看函数的所有参数,可以使用命令"info args"或者"i args"即可。

代码中有一个test_work函数,在这个函数处设置一个断点,然后查看此函数的参数信息:

二、查看变量的值

三、设置字符串的显示规则

上述代码中使用命令p输出name的值,但是可以看到字符串后面有很多结束符,因为name定义的长度是100个字节,但是实际使用的字节却只有11个字节,剩余的字节都会使用结束符来做填补,这样看起来十分不美观 。所以可以使用命令"set print null-stop",表示遇到null结束符就不需要再打印了。

四、显示结构体信息

五、显示数组

六、gbd内嵌命令的使用

查看类型的大小:

查看字符串大小:

七、修改变量的值

在test_work函数处设置断点,并执行到断点处,查看它的参数,从age=25可以判断处它只会执行"cout << "Yong guy:" << name << endl;"这条语句。

如果我们想要程序执行"cout << "Old guy:" << name << endl;"这条语句呢,那么就需要修改age的值,比如说将age的值改为55。

修改结构体的值:

通过gdb内嵌的函数修改字符串的值:

 

标签:字节,查看,函数,GDB,结束符,字符串,断点,调试,变量
From: https://www.cnblogs.com/TechNomad/p/17958765

相关文章

  • 调试再次出错
    积累了调试的好多经验和反想,可无济于事。遇到问题最怕想当然,如果自己心思缜密,百无一疏也就罢了。可不能无时无刻保持这种警惕性:遇到问题,需要调试最好一步步来:1.描述问题:具体,针对性的问题,说出问题发出所在,问题是什么?2.调试的时候,针对性的调试,什么情况下出现的问题,就在什......
  • jdk jre 关键字 字面量 特殊字符 变量 进制
    JDK(JavaDevelopmentkit):Java开发工具包jvm:JavavirtualmachineJava虚拟机,Java真正运行的地方;核心类库:Java提前定义好的;开发工具:Javac编译工具,Java运行工具,jdb调试工具,jhat内存分析工具。JRE(JavaRuntimeEnvironment):Java运行环境  【把一些运行时用到的工具单独抽离......
  • VisualStudio — 调试运行时启动缓慢
    VisualStudio在Debug模式下,调试程序时运行,程序启动极其缓慢,VS最下面的状态栏一直显示不停的在加载XXX.dll,但是如果选择开始执行(不调试)程序就能很快启动,排查到的原因是调试时,之前添加了microsoft.com的环境变量:SRV*D:\mysymbol*https://msdl.microsoft.com/download/sy......
  • 全志T113开发板Qt远程调试
    1引言通常情况下工程师在调试Qt程序时,需要频繁制作镜像烧录到核心板来测试Qt程序是否完善,这样的操作既费时又费力。这时我们可以通过QtCreator设备功能,定义设备后,在x86_64虚拟机上交叉编译qt程序,将程序远程部署到arm64的机子上,然后远程调试,大大提高开发效率。2. 调试环境本文基于H......
  • 全志T113开发板Qt远程调试
    1引言 通常情况下工程师在调试Qt程序时,需要频繁制作镜像烧录到核心板来测试Qt程序是否完善,这样的操作既费时又费力。这时我们可以通过QtCreator设备功能,定义设备后,在x86_64虚拟机上交叉编译qt程序,将程序远程部署到arm64的机子上,然后远程调试,大大提高开发效率。  2. 调试......
  • Xcode14.3.1真机调试iOS17的方法
    Hello,大家好我是咕噜铁蛋!Xcode是苹果官方开发工具,它提供了完整的开发环境和工具集,支持开发iOS、macOS、watchOS和tvOS应用程序。对于iOS开发者来说,Xcode是必备的工具之一。而随着iOS系统的不断更新和升级,Xcode也在不断地升级和改进,确保最好的开发体验。今天铁蛋将介绍如......
  • proteus8 单步调试stm32 外置arm gcc
    10年前proteus7的时代,51单片机就已经可以用keil和proteus联调了,单步调试,像连接了一个jtag调试口一样。proteus官方提供的keil调试器驱动有arm设备,不过我反复尝试,虽然识别到ProteusVSMSimulator设备和端口,但是还是报错,无法成功。本文只是借助proteus内置的编辑器和单步调试器,......
  • re | win11 + windbg接收不到内核调试DbgPrint解决
    re|win11+windbg接收不到内核调试DbgPrint解决网上都是改注册表或者用工具,这不是纯脱裤子放屁吗?怎么可能不让你接收到呢?还有个CSDN的修改注册表还抄的别人的,真可笑。人微软都说了怎么弄了:https://learn.microsoft.com/zh-cn/windows-hardware/drivers/debugger/reading-and......
  • IDEA Debug 调试技巧(基础版)
    前言Debug是程序员的开发神器,使用好了可以帮助我们非常高效的工作、学习、排查问题等。毫不客气的说,是决定我们进阶到更高层级的一个重要技能。正文Debug的常见使用场景需求代码测试:通过debug你才能知道你的代码究竟是怎么运行的,更容易发现问题问题排查:只要能进入到问题流......
  • Linux之GDB调试(一)
    一、C++调试准备工作调试代码:#include<iostream>intmain(intargc,char**argv){intiTest=100;constchar*str="thisisatest";std::cout<<"iTestis"<<iTest<<",stris"<<str&l......