我正在重新組織我們的應用程序中的一些遺留庫,其中 將非託管代碼調用到託管代碼庫中。儘管我的代碼 重組,它產生以下裝載機錯誤:Windows加載程序問題 - 打開詳細模式
...
'app.exe': Loaded 'C:\WINDOWS\system32\CsDisp.dll'
'app.exe': Loaded 'C:\WINDOWS\system32\psapi.dll'
'app.exe': Loaded 'C:\WINDOWS\system32\shell32.dll'
'app.exe': Loaded 'C:\appCode\Debug\daq206_32.dll', Binary was not built with debug information.
'app.exe': Loaded 'C:\appCode\Debug\SiUSBXp.dll', Binary was not built with debug information.
'app.exe': Loaded 'C:\appCode\Debug\AdlinkDAQ.dll', Symbols loaded.
'app.exe': Loaded 'C:\WINDOWS\system32\P9842.dll', Binary was not built with debug information.
LDR: LdrRelocateImageWithBias() failed 0xc0000018
LDR: OldBase : 10000000
LDR: NewBase : 00A80000
LDR: Diff : 0x7c90d6fa0012f6cc
LDR: NextOffset : 00000000
LDR: *NextOffset : 0x0
LDR: SizeOfBlock : 0xa80000
Debugger:: An unhandled non-continuable exception was thrown during process load
相信0xc0000018錯誤是重疊的地址範圍。所以,我有兩個問題。首先,哪些鏈接器選項可能導致此錯誤?我目前正在使用/ DYNAMICBASE:NO和/ FIXED:No,因爲這是以前的一些圖書館是如何建立的。
其次,有沒有辦法打開加載器的詳細模式,所以我可以看到究竟是什麼試圖加載? P9842是第三方庫,所以我想它會在P9842之後進入我的一個庫,並且在那個庫上失敗。我可以縮小它嗎?謝謝。
感謝您的回答。它確實讓我超過了這個錯誤,並且導致了Access Violation(我的幸運日:-)。關於裝載機快照的文章比我遇到的其他文章要好。 – doobop 2010-04-13 13:00:52