在!address REGionUsageIsVAD WinDBG中查看实际数据 [英] Viewing the actual data in !address REGionUsageIsVAD WinDBG

查看:137
本文介绍了在!address REGionUsageIsVAD WinDBG中查看实际数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用了!address -RegionusageIsVAD ,发现条目非常大。

I used the !address -RegionusageIsVAD and found an entry that is very huge in size.

如何我可以查看谁写入了此数据以及该特定地址中的数据吗?

How can i view who wrote this data and what data is in that specitic address?

示例输出:

099230000 : 099230000 - 01000000
                Type     00020000 MEM_PRIVATE
                Protect  00000004 PAGE_READWRITE
                State    00001000 MEM_COMMIT
                Usage    RegionUsageIsVAD

所以我想看看该地址中的数据是谁分配的。

So i want to see what data is in this address and who allocated it.

推荐答案

高RegionUsageIsVAD通常有两个原因:

High RegionUsageIsVAD typically comes from 2 reasons :


  • 这是.NET应用程序。在这种情况下,CLR分配一个内存块并在其中执行自己的分配。您可以使用sos WinDbg扩展来解决此类问题,并查看是否还有许多对象仍然存在。

  • 这不是.NET应用程序。在这种情况下,应用程序将调用VirtualAlloc分配一个内存块。由于无法记录这种分配的回溯,因此可以在VirtualAlloc上放置一个断点,并为每次调用转储堆栈(bp kernel32!VirtualAlloc kb; gc;)。这可能会提示您呼叫的来源。

这篇关于在!address REGionUsageIsVAD WinDBG中查看实际数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆