首页 > 解决方案 > 在 Visual Studio 调试器中,如何从内存中打印一系列字节?

问题描述

我需要从我正在调试的应用程序的内存中提取一个特定数量的字节宽的数据结构,最好是一系列十六进制对的形式。我想从 Visual Studio 调试器中的命令或即时窗口获取这些数据。我可以通过 db 命令在 windbg 中实现这一点,但我无法找到 Visual Studio 的特定命令。Debug.Print 是不够的,因为它一遇到空字符就停止打印。

我知道存在这样的命令,因为我以前使用过它,但我一辈子都找不到它。这就是我没有写下来的结果。

标签: c++visual-studiodebugging

解决方案


在浏览了一些文档后,我能够找到答案。我想要的命令是Debug.ListMemory,它是d命令的别名。以十六进制对打印字节的命令特别是db /Count:[number of bytes to print] [memory address]

>db /Count:1686 0x0000021f7102d4d0
0x0000021F7102D4D0  48 72 2f 50 73 36 68 75 4e 6c 59 44 44 56 33 33  
0x0000021F7102D4E0  38 78 37 4f 55 65 6c 62 6c 6f 51 78 77 66 4e 68  
0x0000021F7102D4F0  35 73 4e 35 42 68 4d 67 54 7a 6e 35 6d 36 52 41
...  

推荐阅读