Я нахожусь в процессе реорганизации некоторых устаревших библиотек в нашем приложении, которые
имеет неуправляемый код, вызывающий библиотеки управляемого кода. Пока у меня есть код
реорганизован, выдает следующую ошибку загрузчика:
...
'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: Нет, поскольку именно так были настроены некоторые из предыдущих библиотек.
Во-вторых, есть ли способ включить подробный режим для загрузчика, чтобы я мог видеть, что именно он пытается загрузить? P9842 - это сторонняя библиотека, поэтому я предполагаю, что она попадает в одну из моих библиотек после P9842 и не работает на этой. Могу ли я сузить это? Спасибо.