Visual Studio C ++调试器:没有十六进制转储?

时间:2009-02-06 18:22:11

标签: c++ visual-studio debugging

为什么集成vs调试器如此......几乎没有功能?我无法在内存中看到对象的内容。例如,我正在使用位图,我希望在内存中看到它们。我需要一个更好的调试器吗?如果是这样,我对建议感兴趣。没有像反汇编程序那样强大,只有调试器。

5 个答案:

答案 0 :(得分:27)

我从来没有发现它“几乎没有功能”。默认情况下,VS在无法找到源代码时为您提供反汇编,并且很容易进入内存视图。调试 - > Windows - >记忆。在“地址:”框中键入“this”以获取当前对象的内存。查看特定会员类型'& this-> member_name'。它会直接跳到第一个字节。

答案 1 :(得分:2)

调试| Windows |记忆| Memory1-4。将要查看的内存块的地址放在地址中。这可能是您尝试使用鼠标执行的最困难的菜单选项(您将看到......)。

在旧版本的VS中,如果你想查看变量的内容,你需要确定变量的地址,我通常使用监视窗口。

但是,在较新版本中,您通常只需输入变量名称作为地址,就像在观察窗口中一样。

答案 2 :(得分:1)

VS2005有一个“内存”选项卡,可以提供内存字节。我不知道如何说服它突出显示十六进制块,以便告诉你哪些变量是哪个。

答案 3 :(得分:1)

调试| Windows |内存将让您查看所需的任何内存区域(受进程/访问限制)。这是VS2005。其他版本的菜单结构可能略有不同。

答案 4 :(得分:0)

我不知道它是否有用,但谷歌快速搜索“调试器显示内存为位图”出现了Bitmap Memory Debugger,它被设计为与另一个调试器(如Visual Studio或WinDbg)一起使用。