2010-04-23 75 views
1

我需要一種方法來跟蹤.NET應用程序中的所有分配,這些分配在調試我的應用程序的過程中的單個步驟中發生。我的意思是,當我在調試器中,單步執行代碼時,我希望看到單步執行的分配。有沒有工具或方法來做到這一點?我嘗試了幾種內存分析器,包括CLR分析器,JetBrains和.NET Memory Profiler 3.5,它們都沒有提供這種功能。.NET分配分析

回答

0

你可以使用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的這些功能。它可能會變得非常緩慢,因爲分配數物體增加