Vscode GDB 查看内存的值

news2024/12/26 22:22:21

在VSCode的GDB图形界面中,你可以使用"调试控制台(Debug Console)"来查看malloc返回的地址里的值。以下是具体的步骤:

  1. 首先,你需要在你的代码中设置一个断点,这个断点应该在malloc函数调用之后,这样你可以获取到malloc返回的地址。
  2. 然后,开始调试你的程序,当程序运行到你设置的断点时,它会暂停。
  3. 此时,打开"调试控制台(Debug Console)",你可以在这里输入GDB命令。
  4. 假设malloc返回的地址存储在变量ptr中,你可以使用以下GDB命令来查看这个地址里的值:
-exec x/1xb ptr

这个命令会显示从地址ptr开始的一个字节的值,并以16进制的形式显示。

请注意,你需要根据你想查看的内存的类型和长度,来调整x命令的参数。例如,如果你想查看一个整数,你可能需要使用x/1dw来查看4个字节,并以十进制的形式显示。

在这里插入图片描述

malloc_usable_size函数是一个在Linux系统中的库函数,它返回一个指向由malloc或相关函数分配的内存块的指针所指向的可用字节数。这个函数的主要用途是用于调试和自省。

关于malloc后的值都是0xbe的问题,这可能是因为在你的系统中,malloc函数在分配内存时,会将新分配的内存初始化为0xbe。这是一种常见的调试技术,用于帮助开发者识别未初始化的内存。这样,如果你在程序中看到0xbe,那么你就知道这块内存是由malloc分配的,但还没有被初始化。请注意,这种行为可能因系统和malloc的实现而异,不是所有系统或malloc的实现都会这样做。在一些系统或malloc的实现中,malloc可能会将新分配的内存初始化为其他值,或者根本不进行初始化。


在 GDB 中,-exec 是一个用于执行 GDB 命令的前缀。例如,如果你想在 GDB 中运行 continue 命令,你可以在 GDB 终端中输入 -exec continue。这将会继续执行你正在调试的程序,直到遇到下一个断点或程序结束。这种方式在你通过其他工具(如 IDE)使用 GDB 时特别有用,因为这些工具可能需要以一种结构化的方式来获取 GDB 的输出。请注意,-exec 前缀并不总是必需的,特别是当你直接在终端中使用 GDB 时。在这种情况下,你可以直接输入 continue 或其他 GDB 命令。

在 GDB 中,-exec 前缀主要在以下情况下使用:

  1. 通过其他工具使用 GDB:当你通过其他工具(如 IDE)使用 GDB 时,这些工具可能需要以一种结构化的方式来获取 GDB 的输出。在这种情况下,你可能需要使用 -exec 前缀来执行 GDB 命令。
  2. 使用 MI(Machine Interface)模式:GDB 提供了一种名为 MI 的接口,它是为了让其他程序(如前端界面或 IDE)能够更好地与 GDB 交互而设计的。在 MI 模式下,你需要使用 -exec 前缀来执行 GDB 命令。

当你直接在终端中使用 GDB 时,通常不需要使用 -exec 前缀。你可以直接输入 continue 或其他 GDB 命令来执行。


基于Ubuntu20.04的环境测试,开了asan对应的值为0xffffffbe,没开asan为全0。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1233009.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

传统考勤太复杂怎么办?这个小技巧,我必须吹爆!

随着科技的不断进步,人脸识别技术在各个领域得到了广泛的应用。在企业管理和安全领域,三维人脸考勤系统成为了一种高效、准确的管理工具。 客户案例 银行 天津某银行是一家金融机构,对于安全性要求极高。传统的考勤系统无法满足他们对于员工…

日期格式转化成星期几部署到linux显示英文

异常收集 原因:解决办法仰天大笑出门去,我辈岂是蓬蒿人 传入一个时间获取这个时间对应的是星期几,在开发环境(window系统)中显示为星期几,部署到服务器(linux系统)中会显示英文的时间…

2023年中国老年人护理用品市场规模及前景,呈现快速发展趋势[图]

老年护理有着特定含义,它是指对老年人疾病的治疗护理、某些内科慢性疾病或一些外科病患的医学和心理学康复护理,对生活半自理或完全不能自理的老年人的生活护理,以及对病危老年人的心理护理和临终关怀等。老年人护理用品包括老年人护理床垫、…

ATA-304功率放大器的电子实验案例(案例合集)

ATA-304功率放大器凭借其优异的指标参数受到不少电子工程师的喜欢,其在电子实验中的应用也非常频繁,下面为大家整理出ATA-304功率放大器的应用案例合集,希望能对领域内各位工程师、研究人员有所帮助。 案例一:ATA-304功率放大器在…

关于爬虫!看这一篇就够了!

作为一个互联网的技术开发,爬虫不管是自己写的还是所负责的网站被爬,都是挺常见的。 但是一个很常见的东西,却一直没有系统梳理过,今天我们从发展历史,价值,问题和应对恶意爬虫的策略来聊一聊爬虫。 1 爬…

【机器学习】033_反向传播

一、计算图、反向传播原理 1. 回顾前向传播 例:假设现在有一个神经网络,其仅有一个输出层和一个神经单元 定义 定义 ,即激活函数对激活值不再做具体处理 定义平方损失函数 ,计算a的值与真实值的差距 此时,通过计算…

Ansys Lumerical|菲涅尔透镜设计

附件下载 联系工作人员获取附件 在这个例子中,我们研究一个球面菲涅尔透镜。透镜的曲率半径为100cm,直径为4.8cm。由于该结构的尺寸较大,我们必须使用该结构的二维近似。透镜的焦点可以用FDTD远场投影函数来研究。 镜头设计和设置 我们将考…

HarmonyOS第一课-对比Kotlin,快速入门TypeScript

编程语言简介 基础类型 1. 布尔值 TypeScript 和 Kotlin: 两者都有 boolean 类型,用于表示 true 或 false。 ts示例: let isDone:boolean falsekotlin示例: val isDone: Boolean false2. 数字 TypeScript: 有 number 类型&#xff0c…

二进制位(计算机存储数据最小单位)

二进制数据中的一个位(bit)简写为b,音译为比特,是计算机存储数据的最小单位。一个二进制位只能表示0或1两种状态,要表示更多的信息,就要把多个位组合成一个整体,一般以8位二进制组成一个基本单位。计算机内部数据以二进…

Camtasia2024喀秋莎软件注册机

真的要被录屏软件给搞疯了,本来公司说要给新人做个培训视频,想着把视频录屏一下,然后简单的剪辑一下就可以了。可谁知道录屏软件坑这么多,弄来弄去头都秃了,不过在头秃了几天之后,终于让我发现了一个值得“…

品尝葡萄酒要注意的重点事项有哪些?

给自己倒一杯葡萄酒,抿一口,这很容易就知道这是不是你喜欢的了。通过一些练习和微调可以加深你对葡萄酒特性的理解,并在品尝时挖掘出葡萄酒中所有的味道。任何品酒师在分析新酒时都会遵循一系列步骤和规则,从外观到香气、味道和特…

DAY59 503.下一个更大元素II + 42. 接雨水

503.下一个更大元素II 题目要求: 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数&am…

django ModelSerializer自定义显示字段

文章目录 前言一、问题二、解决 前言 最近在复习django的时候,发现了一个有趣的问题,解决了之后特意记录下来,以供以后参考。 一、问题 相信大家使用django的时候,被其DRF的强大功能所折服,因为它能通过简单的代码就…

生产环境_移动目标轨迹压缩应用和算法处理-Douglas-Peucker轨迹压缩算法

场景: 我目前设计到的场景是:即在地图应用中,对GPS轨迹数据进行压缩,减少数据传输和存储开销,因为轨迹点太频繁了,占用空间太大,运行节点太慢了,经过小组讨论需要上这个算法&#x…

Nosql的redis概述及基本操作

关系数据库与非关系型数据库概述 关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型…

【Linux专题】退出bash后再运行jobs命令为什么不会显示后台任务

【Linux专题】firewalld 过滤出接口流量-CSDN博客文章浏览阅读214次。风和日丽,小微给你送福利~如果你是小微的老粉,这里有一份粉丝福利待领取...如果你是新粉关注到了小微,那恭喜你,你赚到了![欢迎关注微信公众号&…

技巧大揭秘!如何优雅地应对Redis读写超时问题

大家好,我是小米!今天我们要聊的话题是在Java中如何优雅地处理Redis读写超时问题。这可是个让人头疼的问题,但别担心,我会在这里和大家一起揭开它的神秘面纱,分享一些超实用的技巧和优雅的处理方法。 问题背景 在我们…

陶瓷行业废污水处理使用MES系统的作用

陶瓷行业属于高能耗、高污染行业,生产过程中消耗大量矿产资源和能源,产生的废气、废水、废渣、粉尘等对环境造成严重污染。在近年来,全社会环保意识增强,政府出台了一系列政策、措施加大节能、减排力度,整治行业污染。…

NX二次开发UF_CAM_ask_lower_limit_plane_usage 函数介绍

文章作者:里海 来源网站:里海NX二次开发3000例专栏 UF_CAM_ask_lower_limit_plane_usage Defined in: uf_cam_planes.h int UF_CAM_ask_lower_limit_plane_usage(tag_t object_tag, UF_PARAM_lwplane_usage_t * usage ) overview 概述 Query the usa…