Pb en debug : user breakpoint called from code ******** suite à un delete [Résolu]

Signaler
Messages postés
9
Date d'inscription
dimanche 26 mars 2006
Statut
Membre
Dernière intervention
12 décembre 2008
-
Messages postés
9
Date d'inscription
dimanche 26 mars 2006
Statut
Membre
Dernière intervention
12 décembre 2008
-
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

Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
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...
Messages postés
9
Date d'inscription
dimanche 26 mars 2006
Statut
Membre
Dernière intervention
12 décembre 2008

Merci pour ton aide,

pourquoi ça foire en debug et pas en release?
Messages postés
14780
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
4 août 2020
92
ç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...
Messages postés
9
Date d'inscription
dimanche 26 mars 2006
Statut
Membre
Dernière intervention
12 décembre 2008

ok :) Merci beaucoup pour ton aide :)