Visual Studio :::你有没有使用Memory Window进行调试?

时间:2010-09-02 07:42:58

标签: visual-studio visual-studio-2008

你有没有使用Memory Window进行调试?如果是,您能提供一些方案吗?

谢谢

4 个答案:

答案 0 :(得分:3)

它在非托管(C ++)开发中最有用,在这种开发中,您比在.NET工作时更关心内存的确切内容。

任何时候你有大量的数据块,你直接使用它是有用的 - 比把它作为一个字节数组更好,例如 - 想想位图图像文件或音频文件,例如,你想要的地方查看标题和精确的数据布局。

答案 1 :(得分:3)

当我使用SSE和SSE2指令时,我经常使用它。汇编程序指令有C ++等价物,它采用变量而不是普通寄存器。这使编程变得更容易。

内存窗口与反汇编窗口结合使用非常有用。我想知道哪条指令加载了我的数据,我想知道它在哪里。

整个过程是复杂图像过滤系统的实现,速度至关重要。优化几十行代码需要数周时间,因此我建议仅在几种情况下使用。

答案 2 :(得分:3)

C ++项目根据include语句的顺序崩溃或工作。使用内存窗口查看导致崩溃的结构,看到它们在一个版本的代码中对齐,但在另一个版本中没有对齐。解决方案:第三方库在标题中使用了#pragma pack,有时稍后撤消,有时不会。

答案 3 :(得分:3)

我一直都在使用它。

我在那里做的一些具体例子:

  • 一旦我怀疑内存损坏,请观察内存块以查看它们是否在预期时发生更改。这通常会很快跟上数据断点。
  • 使用内存的各种视图来重新解释整个数据数组(特别是对于工会数组而言)。
  • 操纵我的exe的二进制文件(通常是为了调试不直接感兴趣的东西。通常在第三方dll上完成)