我正在調(diào)查生產(chǎn)中的內(nèi)存轉(zhuǎn)儲,我看到很多關(guān)于“固定句柄”的引用,如下面的屏幕截圖所示(來自 Jetbrains dotMemory)。我們沒有使用固定的,我們沒有對這段代碼的非托管資源做任何事情,所以我想問這怎么可能?SiteManager 類是單例的,所以有private static SiteManager _instance;代碼中的字段永遠保持對該對象的引用。但我看不出這會導(dǎo)致固定的任何原因。
1 回答

ABOUTYOU
TA貢獻1812條經(jīng)驗 獲得超5個贊
最有可能的是,對象數(shù)組是用于存儲靜態(tài)引用的內(nèi)部 CLR 對象之一。所以它不是你的對象固定,它是保持靜態(tài)引用固定的數(shù)組。
[編輯] 我說“最有可能”是因為我不知道你的程序。如果你作為這個程序的作者,確定它不是“你的” object[]
,那肯定它是一個保持“靜態(tài)引用 GC 根”的數(shù)組。
但是由于內(nèi)部.NET 實現(xiàn)細節(jié)似乎沒有關(guān)于對象數(shù)組的內(nèi)容。我從我作為 dotMemory 開發(fā)人員的經(jīng)驗中了解到這一點。
- 1 回答
- 0 關(guān)注
- 108 瀏覽
添加回答
舉報
0/150
提交
取消