Hello
I am migrating a project from VC++6.0 to VC++2005.
The project have several third party dlls and libraries. I don't have the source code, so I can't recompile these dll.
I succeeded to compile and link the project with VC++2005.
but it crash when it call a funtion of dll( EmDB.dll ) compiled with VC++2005.
is there anyone suffering same problem
this program is working well with VC++6.0.
Thanks in advance
// memory of dword ptr [__imp__iSQL_connect (115579E8h)]
0x115579E8 c0 13 e3 01 3b 25 e3 01 63 25 e3 01 00 00 00 00 ....;%..c%......
// code
187: rc = iSQL_connect(gISQL, "127.0.0.1", szDBName, "DB2", "DB2");
100AC81D push offset _hDb2Mutex+1D4h (10150810h)
100AC822 push offset _hDb2Mutex+1D8h (10150814h)
100AC827 mov ecx,dword ptr [szDBName]
100AC82A push ecx
100AC82B push offset _hDb2Mutex+1DCh (10150818h)
100AC830 mov edx,dword ptr [_gISQL (114EEECCh)]
100AC836 push edx
100AC837 call dword ptr [__imp__iSQL_connect (115579E8h)] // dll function
100AC83D add esp,14h
100AC840 mov dword ptr [rc],eax
.....
01E313C0 jmp 01EF15E5
....
[crash point]
003A6746 mov ecx,dword ptr [p]
003A674C movsx edx,byte ptr [ecx]
// exception
Unhandled exception at 0x003a674c (MSVCRTD.DLL) in TkISE.exe: 0xC0000005: Access violation reading location 0xffffffc0.
// call stack
MSVCRTD.DLL!_output(_iobuf * stream=0x06c9f788, const char * format=0x01f870a7, char * argptr=0x06c9f8e4) Line 677 + 0x1f bytes C
MSVCRTD.DLL!_vsnprintf(char * string=0x06c9f7d4, unsigned int count=255, const char * format=0x01f870a4, char * ap=0x06c9f8e0) Line 101 + 0x11 bytes C
EmDB.dll!01e6642e()
[Frames below may be incorrect and/or missing, no symbols loaded for EmDB.dll]
EmDB.dll!01e66ad2()
EmDB.dll!01e65185()

VC++6.0 to VC++2005 : crash when executing funtion of the dll compiled with VC++6.0
Wolfeitz
Unfortunately, we will need a reprocase to look into the issue. Could you try forming a small case that could reproduce the issue
Thanks, Ayman Shoukry VC++ Team