Pb en debug : user breakpoint called from code ******** suite à un delete

Résolu
cs_jindono Messages postés 9 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 12 décembre 2008 - 11 déc. 2008 à 17:04
cs_jindono Messages postés 9 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 12 décembre 2008 - 12 déc. 2008 à 11:53
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 bytes
CTreeList::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

4 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
11 déc. 2008 à 17:16
Salut,
Aucun interêt à faire un delete ici. En effet, tu fais juste une copie de pointeur, donc rien d'allouer, donc rien à deleter.
Tu peux donc, sans problème, supprimer cette ligne.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
3
cs_jindono Messages postés 9 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 12 décembre 2008
12 déc. 2008 à 10:17
Merci pour ton aide,

pourquoi ça foire en debug et pas en release?
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
12 déc. 2008 à 10:24
ça doit dépendre des initialisations des pointeurs qui sont différentes en Debug ou Release

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_jindono Messages postés 9 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 12 décembre 2008
12 déc. 2008 à 11:53
ok :) Merci beaucoup pour ton aide :)
0
Rejoignez-nous