1
我需要一种方法来跟踪.NET应用程序中的所有分配,这些分配在调试我的应用程序的过程中的单个步骤中发生。我的意思是,当我在调试器中,单步执行代码时,我希望看到单步执行的分配。有没有工具或方法来做到这一点?我尝试了几种内存分析器,包括CLR分析器,JetBrains和.NET Memory Profiler 3.5,它们都没有提供这种功能。.NET分配分析
我需要一种方法来跟踪.NET应用程序中的所有分配,这些分配在调试我的应用程序的过程中的单个步骤中发生。我的意思是,当我在调试器中,单步执行代码时,我希望看到单步执行的分配。有没有工具或方法来做到这一点?我尝试了几种内存分析器,包括CLR分析器,JetBrains和.NET Memory Profiler 3.5,它们都没有提供这种功能。.NET分配分析
你可以使用WinDbg像这样的东西
.load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\SOS.dll
.logopen log.txt
bp mscorwks!FastAllocateObject "!DumpMT poi(@esp+4); g"
bp mscorwks!AllocateObject "!DumpMT poi(@esp+4); g"
这应该打破所有AllocateObject/FastAllocateObject和转储方法表传递到log.txt的这些功能。它可能会变得非常缓慢,因为分配数物体增加