How to analyze unmanaged heap size of a .NET process

How can I analyze the unmanaged heap size of a .NET process using Windbg? What commands should be used in WinDbg?

+4
source share
1 answer

!address -summary gives you a non-heap view.

The usage summary contains the following:

  • Free: free memory that can be allocated and used
  • Image: memory used by EXE and DLL files
  • MappedFile: memory used by memory mapped files
  • Heap / Heap 32 / Heap64: allocated memory through the heap manager
  • Stack / Stack32 / Stack 64: memory used by thread stacks
  • TEB / TEB32 / TEB64: memory used by flow medium blocks
  • PEB/PEB32/PEB64: , (, )

:

  • MEM_IMAGE:
  • MEM_MAPPED: MappedFile
  • MEM_PRIVATE: ,

:

  • MEM_FREE: Free
  • MEM_COMMIT:
  • MEM_RESERVE: ,

. , , .

:

. , . , , .

!heap -s .

, Windows. VirtualAlloc() (, MSXML .NET).

MSDN: MSDN:

+10

Source: https://habr.com/ru/post/1524015/


All Articles