2010-01-12 8 views
0

我在加載Windows Mobile 5.0下的DLL時遇到問題。我非常確信,這是由於應用程序虛擬內存不足(該進程的32 MB插槽導致,如Windows CE .NET Advanced Memory Management中所述)。在Windows CE下,如何檢查在虛擬內存空間中加載了哪些基於RAM的DLL?

我正在尋找一種方法來真正確保這是問題並調查我的努力是否會帶來預期的結果。你知道一種檢查虛擬內存應用程序插槽內容的方法嗎?任何可以幫助我完成此任務的應用程序?

回答

0

另一種方法是使用toolhelp32 api讀取進程的所有虛擬內存分配,模塊等。我很久以前就寫了一個工具,使用這些API讀取設備上所有進程的加載模塊,以及它們的虛擬內存使用情況,以便我可以瞭解設備是否正在經歷我們所知的'dllcrunch'在哪裏在我們的進程中的下一個DLL的加載點恰好在我們的堆空間,所以我們在加載DLL時遇到了OOM錯誤,儘管有大量的空間備用