首页 > 技术文章 > VS code GDB调试 16进制查看内存和表达式

wangbingbing 2021-09-19 20:53 原文

VScode监视窗口16进制查看表达式,只需要在表达式后面加,h,比如:
buf,h,则按16进制显示buf的值

查看内存
使用gdb的x命令查看内存,在调试控制台或者监视窗口执行:
-exec x/20xb buf

关于gdb的x指令,这里稍微记录一下:
x/<n><f><u> <addr>
<n>是一个数字,表示要查看几个内存单元,内存单元在后面定义。
<f>表示显示的形式,对于整数变量来说取值有:

取值 注释
x 十六进制格式显示变量
d 十进制格式显示变量
u 按十六进制格式显示无符号整型
o 按八进制格式显示变量
t 按二进制格式显示变量
a 按十六进制格式显示变量
c 按字符格式显示变量
f 按浮点数格式显示变量
s表示按字符串显示
u指一个内存单元的大小,取值包括:b=1 byte, h=2 bytes,w=4 bytes,g=8 bytes,默认是4bytes

比如:-exec x/20xb buf,就是按16进制显示buf开头的20个内存单元,每个内存单元的大小是1字节

推荐阅读