> Le 31 janv. 2016 ? 18:06, Igor Korot <ikorot01 at gmail.com> a ?crit : > > Ok, I did try to recompile everything with /MDd. > The crash again happens only on the main frame destruction. > Everything worked after the pointer had been assigned to the main frame > member. > I don't understand this at all. > > Thank you.
Looking at the stack trace you posted, it is not SQLite code which crash, but some C++ code (which happen to be inside a dll named 'sqlite.dll') probably wrapping SQLite3 code itself. It tries to delete some data, and some integrity checks reveal the pointer is invalid, by that time at least. > Here is the stack trace of the crash: > ntdll.dll!77b973a6() > [Frames below may be incorrect and/or missing, no symbols loaded > for ntdll.dll] > ntdll.dll!77b5164f() > ntdll.dll!77b20f01() > KernelBase.dll!762b2844() >> sqlite.dll!_CrtIsValidHeapPointer(const void * pUserData) Line 2036 C++ > sqlite.dll!_free_dbg_nolock(void * pUserData, int nBlockUse) > Line 1322 + 0x9 bytes C++ > sqlite.dll!_free_dbg(void * pUserData, int nBlockUse) Line 1265 > + 0xd bytes C++ > sqlite.dll!operator delete(void * pUserData) Line 54 + 0x10 bytes C++ > sqlite.dll!SQLiteDatabase::`vector deleting destructor'() + 0x65 > bytes C++ -- Meilleures salutations, Met vriendelijke groeten, Best Regards, Olivier Mascia, integral.be/om