开发者

Viewing the actual data in !address REGionUsageIsVAD WinDBG

开发者 https://www.devze.com 2023-03-06 07:09 出处:网络
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?

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?

Exmaple output:

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.


High RegionUsageIsVAD typically comes from 2 reasons :

  • this is a .NET application. In this case, the CLR allocates a block of memory and performs its own allocations inside it. You can troubleshoot this kind of issue with the sos WinDbg extension and see if you have many objects still alive.
  • this is not a .NET application. In this case, the application calls VirtualAlloc to allocate a bloc of memory. Since it is not possible to record backtraces for this kind of allocation you can put a breakpoint on VirtualAlloc and dump the stack for each call (bp kernel32!VirtualAlloc "kb;gc;"). This may give you hints of where the call comes from.
0

精彩评论

暂无评论...
验证码 换一张
取 消