改cpp[1] Vscode Hex Editor,在vscode中查看内存

#c 引入
我们在开发C++时,常常需要与内存打交道。调试时,查看内存的变量就成了一个很重要的需求。在vs中查看非常方便,但在vscode中并不能直接查看。虽然vscode可以监听到变量,但看不到内存里的格式。可以通过Hex Editor这个插件,来查看内存。

1.安装插件

![在这里插入图片描述请添加图片描述

2.Hex Editor使用

上一个例程:

#include <iostream>
#include <fstream>


using namespace std;

int main(){

    int* p=new int[3];
    p[0]=2;
    p[1]=5;
    p[2]=7;

    cout<<p[0]<<endl;
    cout<<p[1]<<endl;
    cout<<p[2]<<endl;
    
    return 0;
}

进入debug,然后可以看到这样的界面,我们来一一介绍,各个位置代表的含义。

在这里插入图片描述
这里创建了一个数组,并用指针p指向这个数字。值得一提的是,想用这个Hex Editor工具,必须得用指针!
变量区可看到一个Local,底下有我们的指针p。把鼠标放在上面,会有:查看二进制数据 这么一个选项。
可以看到,p的值是 0x25b2300。这个意思是,数组的首地址。点击查看二进制数据,界面如下。(debug多运行几行,到cout那个位置才完整所有数组的赋值。)

请添加图片描述
右边就是我们的内存查看器了。
首先,看到的是p的实际内容,也就是p指向的地址。下面是两排数字

在这里插入图片描述
我们知道,内存是以字节为单位的。我们有了0x25b2300这个基地址,同时也得给后面每一个字节分配一个地址号。这个字节的地址号,就是基地址+偏移地址。偏移地址便是左边红色圈出的这排数。

在这里插入图片描述

对应的,右边的数字,就是这8个bit存贮的数字。当然,你可能会有疑问,内存中的数字,是8个2进制数,这里怎么只有2个?
这2个数字,是16进制的。(2的8次方=16+16)

P[0]:
第一个字节是 02 第二个字节是00 第三个字节是00 第四个字节是00,
排列起来是:
00 00 00 02 (16进制)
转换为内存中真正的形式:
0000 0000 0000 0000 0000 0000 0000 0010(2进制)
对应到我们的P[0],就是2。(正整数的补码反码一样)

P[1]:
第一个字节是05 第二个字节是00 第三个字节是00 第四个字节是00,
排列起来是:
00 00 00 05(16进制)
转换为内存中真正的形式:
0000 0000 0000 0000 0000 0000 0000 0101 (2进制)
对应到P[1],就是5。

以此类推。

点开07这个数字可以发现右边的解析器。
07这个字节,或者说,偏移地址为00000008的这个字节,也就是我们的P[2]。右边的解释器起到一个辅助查看的作用。当这个字节的数据类型为uint8时,解释器会读取这个字节的内容,并按照编码得到对应的数字:7。当这个字节的数据类型为int32时,解释器会读取这个字节以及后面3个字节的内容,并按照编码得到对应的数字:7。 当然,解释器并不知道这个字节到底是啥类型,那么就把所有的类型都展示出来。

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Hex editor(十六进制编辑器)是一种计算机程序,用于查看和编辑二进制文件的工具。它不仅可以显示文件的十六进制表示,还可以将其转换为文本表示。Hex editor通常用于调试和修程序、游戏和操作系统的二进制代码。 Hex editor文包是为了方便国用户使用Hex editor而开发的语言包。它将软件界面和菜单的英文内容翻译为文,使得文用户可以更容易地理解和操作软件。通过安装文包,用户不再需要依靠英文界面,而是可以使用自己熟悉的母语进行操作。 Hex editor文包的使用方法很简单。用户只需下载并安装文包,然后在软件设置选择文作为界面语言。一旦设置完成,软件界面的所有文字都会显示为文,用户可以更方便地进行文件的查看和编辑。 Hex editor文包在许多方面带来了便利。首先,对于不熟悉英文的用户来说,使用文界面可以降低理解和操作软件的难度。其次,文界面也有助于提高工作效率,因为用户可以更快地找到需要的功能和选项。最后,文界面还能够减少误操作的可能性,因为用户能够更清晰地理解每个选项的含义。 总之,Hex editor文包为国用户提供了便捷的操作体验,使得他们能够更轻松地使用Hex editor这一十六进制编辑器工具。无论是进行程序调试还是修二进制文件,文界面都能够提高工作效率和准确性。 ### 回答2: Hex editor 文包是一种为Hex editor(十六进制编辑器)提供的汉化补丁,使其界面以及相关功能支持文语言。Hex editor 是一款常用的编辑器,用于查看和编辑二进制文件。通常,Hex editor 的界面和功能都是以英文为基础设计的,这对于英语使用者来说非常方便。然而,对于不太熟悉英语的用户而言,使用英文界面可能会造成一些困扰。 为了解决这一问题,有人专门开发了Hex editor 文包。这个文包会将Hex editor 的界面翻译成文,让用户可以更加方便地操作和理解。同时,文包还会对Hex editor 的提示信息、菜单和按钮等进行文化处理,提供更直观的用户界面。 使用Hex editor 文包的好处在于,用户无需依赖英语能力,就可以轻松地进行二进制文件的编辑和查看文化后的界面,更符合文语境,用户可以更加顺畅地理解和操作软件。对于文用户来说,Hex editor 文包提供了一种更加友好的使用体验,减少了学习和理解软件界面的障碍。 总的来说,Hex editor 文包克服了Hex editor 在界面和功能上使用英文所带来的困扰,为不擅长英语的用户提供了更便利、友好的使用体验。 ### 回答3: Hex editor 是一种用于查看和编辑二进制文件的工具,它能够以16进制和ASCII码的形式展示文件的内容。Hex editor 文包包含了将这个工具的用户界面和相关文本翻译为文的文件。 Hex editor 文包的存在使得使用这个工具的文用户能够更轻松地理解和操作它。它能够提供一个更友好的界面,以及与用户熟悉的语言进行交互。对于不熟悉英文或者不喜欢使用英文界面的用户来说,这个文包可以提高他们使用 Hex editor 的效率和舒适度。 文包包含了对 Hex editor 用户界面各个控件、按钮、菜单等进行翻译的文本文件。在安装 Hex editor 后,用户可以通过导入这个文包来切换语言为文。这样,用户使用 Hex editor 时,所有的文字提示和菜单选项都将显示为文,让他们更容易理解功能和操作。 Hex editor 文包的开发需要借助专业的翻译人员将原始文本翻译为文,并经过严格的校对和测试确保翻译的准确性和合理性。这样,用户才能得到一个质量较高的 Hex editor 文界面。 总之,Hex editor 文包为使用者提供了一个更便捷和舒适的工具操作环境。它使得文用户在使用 Hex editor 时更加流畅和高效,提高了软件的可用性和易用性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值