在!address REGionUsageIsVAD WinDBG中查看实际数据 [英] Viewing the actual data in !address REGionUsageIsVAD WinDBG
本文介绍了在!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屋!
查看全文