2010-01-14 97 views
4

我試圖來分析在Dependency Walker中幾個.NET的可執行文件,總是得到這樣的:的Dependency Walker在.NET應用程序:FlsAlloc

GetProcAddress的(0x7C800000 [KERNEL32.DLL], 「FlsAlloc」)從所謂的「 MSCOREE.DLL「地址0x79006079並返回0xFFBADD11。

我試着製作一個新的Windows窗體項目VS2005,並沒有做什麼,但建立它。依賴行走者仍然給出同樣的錯誤。這是否意味着它不再可能分析.Net應用程序,或者我錯過了什麼?

回答

4

依賴行走者只能分析非託管程序。

+0

好的我可以接受:),任何想法更好的方式來跟蹤託管dll的問題? – insipid 2010-01-14 20:26:34

+0

呃,一個調試器? – 2010-01-14 20:34:38

+0

我指的是依賴性問題,比如模塊沒有被加載,並且沒有找到dll。 – insipid 2010-01-14 20:57:19

1

有同樣的問題,但常見問題解答這樣說:

威爾的Dependency Walker與COM,Visual Basic或.NET組件工作?

是的。無論使用何種語言開發它,Dependency Walker都可以與任何32位或64位Windows模塊配合使用。但是,許多語言都有自己的方式來指定模塊之間的依賴關係。例如,COM模塊可能在註冊表中嵌入了類型庫和註冊信息,.NET模塊可能使用.NET程序集。這些技術都是以核心Windows API上的層來實現的。最後,這些層仍然需要調用核心Windows函數(如LoadLibrary和GetProcAddress)來完成實際工作。正是在這個核心層面,Dependency Walker瞭解發生了什麼。因此,雖然Dependency Walker可能不理解應用程序的所有語言特定的複雜性,但它仍然能夠在覈心Windows API級別跟蹤所有模塊活動。

相關問題