Bonjour tout le monde,
J'ai un souci en mode debug (sachant que le même code marche très bien en Release)
voici le contenu de la pile d'appel
NTDLL! 7c91120e()
NTDLL! 7c97c63e()
NTDLL! 7c9703b0()
KERNEL32! 7c85f8d7()
_CrtIsValidHeapPointer(const void * 0x003ec5c0) line 1606
_free_dbg_lk(void * 0x003ec5c0, int 1) line 1011 + 9 bytes
_free_dbg(void * 0x003ec5c0, int 1) line 970 + 13 bytes
operator delete(void * 0x003ec5c0) line 351 + 12 bytesCTreeList::OnWrite(unsigned int 1376304, long 4113856) line 259 + 15 bytes
et voici le code responsable :
LRESULT CTreeList::OnWrite(WPARAM wParam, LPARAM lParam)
{
//lParam est un long
char * vPt = (char *)lParam; //vPt est affectée correctement
SetItemText( (HTREEITEM)wParam , vPt );
delete vPt; // c'est là que ça coince en debug
return 0;
}
Pour info je suis en mode "Debug Multithreaded DLL"
j'ai aussi utilisé WinDbg pour voir ce qui se passe ( tout en ajoutant une variable d'environnement _NT_SYMBOL_PATH dont la valeur est
symsrv*symsrv.dll*e:\symbols*http://msdl.microsoft.com/download/symbols
afin de télécharger des symboles manquants pour ntdll.dll, mais rien n'y fait.
Merci d'avance pour toute aide ou suggestion