Я пытаюсь создать 32-разрядное приложение в Windows 10 с помощью Visual Studios 2017. Приложение собирается и работает нормально в 64-разрядной версии, но не работает должным образом из 32-разрядной сборки.
Стек вызовов:
KernelBase.dll!741b08b2() Unknown Non-user code. Cannot find or open the PDB file.
[Frames below may be incorrect and/or missing, no symbols loaded for KernelBase.dll] Annotated Frame
common32.dll!77765569() Unknown No symbols loaded.
common32.dll!77765424() Unknown No symbols loaded.
[External Code] Annotated Frame
> MobileDOAS.exe!ATL::CSimpleStringT<char,0>::CSimpleStringT<char,0>(ATL::IAtlStringMgr * pStringMgr) Line 208 C++ Symbols loaded.
common32.dll!7776649b() Unknown No symbols loaded.
common32.dll!7776625b() Unknown No symbols loaded.
OmniDriver32.dll!778b044e() Unknown No symbols loaded.
MobileDOAS.exe!CSpectrometer::CSpectrometer() Line 33 C++ Symbols loaded.
MobileDOAS.exe!CMeasurement_Traverse::CMeasurement_Traverse() Line 7 C++ Symbols loaded.
Отладочный вывод:
'MobileDOAS.exe' (Win32): Loaded 'C:\Users\Diana\git\MobileDOAS\Debug\MobileDOAS.exe'. Symbols loaded.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\win32u.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Program Files (x86)\Ocean Optics\OmniDriver\OOI_HOME\common32.dll'. Module was built without symbols.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32full.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Program Files (x86)\Ocean Optics\OmniDriver\OOI_HOME\OmniDriver32.dll'. Module was built without symbols.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp_win.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbase.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\comdlg32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\combase.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msimg32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcr100.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\SHCore.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.16299.192_none_d02ca7595f31d9e4\comctl32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\windows.storage.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\powrprof.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\profapi.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winspool.drv'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\uxtheme.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oledlg.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcrypt.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\IPHLPAPI.DLL'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.16299.192_none_8e60f76b0273650f\GdiPlus.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleacc.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmm.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmmbase.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmmbase.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\winmmbase.dll'
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dwmapi.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.16299.192_none_5d760485a7e0eb41\comctl32.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\TextInputFramework.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\CoreUIComponents.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\CoreMessaging.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WinTypes.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntmarta.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WinTypes.dll'. Cannot find or open the PDB file.
'MobileDOAS.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\WinTypes.dll'
Exception thrown at 0x741B08B2 (KernelBase.dll) in MobileDOAS.exe: 0xC06D007E: Module not found (parameters: 0x00DADF0C).
Unhandled exception at 0x741B08B2 (KernelBase.dll) in MobileDOAS.exe: 0xC06D007E: Module not found (parameters: 0x00DADF0C).
Скриншот:
Я проверил свойства проекта на наличие внешних зависимостей и убедился, что использую 32-битные версии для каталогов включения. В какой-то момент он работал, но после некоторых изменений я больше не могу заставить его работать, несмотря на попытки отменить любые изменения.
Получается, что 32-разрядный драйвер для спектрометра, к которому хотел получить код, автоматически переопределялся 64-разрядной версией. После отключения автоматического обновления драйверов, удаления любых копий установщика 64-разрядного драйвера на моем компьютере и переустановки 32-разрядного драйвера; Я наконец получил это работает.
Других решений пока нет …