2

I have been using DebugDiag 1.2 to perform memory analysis on a .NET application.

DebugDiag allows non .NET (native) memory analysis. Here are my questions -

  1. Is native memory same as unmanaged memory ? In other words, the analysis report that I see from DebugDiag shows details of the unmanaged memory or the native memory, assuming they are different ?

  2. If they are different, does it mean that managed and unmanaged code translate finally to native code, and all of unmanaged and managed memory is accounted for by native memory ?

  3. The DebugDiag report shows various native heaps. In which of these heaps are the managed heaps included ? Is it the default process heap ?

Cygnus
  • 3,222
  • 9
  • 35
  • 65
  • 1
    To answer points 1 and 2 refer to this related post: http://stackoverflow.com/questions/3563870/what-is-the-difference-between-managed-vs-unmanaged, to answer point 3, this article explains the process: http://www.codeguru.com/columns/dotnet/article.php/c6593/Inside-the-NET-Managed-Heap.htm and this msdn article: http://msdn.microsoft.com/en-us/library/f144e03t.aspx. Essentially 1) yes they are different, 2) yes it all boils down to native memory eventually 3) yes it is the process heap – EdChum Sep 07 '13 at 09:28
  • 1
    @EdChum I would say native memory and unmanaged memory are the same thing. That link talks about the native API, not native memory. – Marc Sherman Sep 10 '13 at 15:35
  • Both managed and unmanaged memory are stored in native memory. – Kris Vandermotten Dec 07 '15 at 13:17

0 Answers0