Preloaded symbols may not match
-
-
Whenever i debug a dll thru the main application the execution is not coming to the break point inside the dll and whenever i press shift+F5 it is showing "Preloaded symbols may not match .dll." Please tell me what is happening.:( Thanks in advance, John
In your debug settings, under Additional DLLs, did you happen to add the DLL so that you may set breakpoints in it before running the application? If so, you may have provided the wrong DLL path. This can happen if you specify a Debug configuration path (e.g. "C:\...\Debug\MyDLL.dll") whereas the application loads the Release configuration of the same DLL (e.g. from "C:\...\Release\MyDLL.dll"). Although the two DLLs have the same name, they are loaded as separate modules into memory. The breakpoints are set in the module that never gets a chance to run. This can also happen if your DLL is a COM server (e.g. implements an ActiveX control). Whether the Release or Debug version of the DLL gets loaded depends on the last settings made in the registry. You need to lookup the CLSID of the implemented ActiveX control (HKEY_LOCAL_MACHINE\SOFTWARE\CLSID\yourclsid) and see what InProcServer DLL is registered - the release or debug version. Then, in your application's debug settings, you need to synchronize the specified DLL path to this. Hope this helps.