2012-08-14 31 views
0

我有一些內存泄漏。我正在創建一個大對象圖,然後解除它。您可以搜索當前項目和解決方案中的所有參考項目嗎?

var a = MyDomainModel.Create(); 
a = null; 
//GC.Collect(); 
Console.ReadLine(); 

那裏沒有非託管的東西。 JustTrace和ANTS(版本6)都報告對象由「System.Object []」保存。 我假設有一個靜態字段(列表/字典/哈希集)隱藏在內部使用ArrayList的地方。我打算做一些文本搜索(也可能是一些正則表達式)。 這是一個包含30個項目的非常大的解決方案。有沒有什麼辦法可以在「當前項目和解決方案中所有被當前項目直接/間接引用的項目」中進行Visual Studio文本搜索?底層的物理文件夾的組織方式不會有意義地表示這些依賴關係。

回答

1

如果您使用的是Windows 7,請創建一個library並將您的項目位置添加到庫中。這應該讓他們都組織在一個地方,而不需要實際移動或複製任何東西。然後從Visual Studio在庫文件夾中進行文本搜索。

+0

我想我可以瀏覽程序集,找到項目並創建一個庫。有一些開銷,但迄今爲止是最好的解決方案。謝謝。 – Tormod 2012-08-14 09:02:06

0

我假設問題已經解決了。如果其他人遇到類似的情況,JustTrace現在通過根路徑視圖處理這種情況。這裏有幾條路徑。

  1. 最大內存保持器:查找object []中內存中的一個對象。選擇對象,然後單擊功能區中的根路徑按鈕。

  2. 按類型:選擇類型,然後單擊功能區中的實例按鈕。選擇其中一個實例,然後單擊根路徑。

  3. 按類型傳入引用:選擇類型,然後單擊功能區中的實例按鈕。選擇其中一個實例,然後單擊根路徑。

根路徑圖顯示了持有該實例的成員名稱並標記了靜態的字段/屬性。請參閱下面的圖片以獲取示例。

root paths with static

相關問題