OVH Cloud OVH Cloud

RTLFreeHeap : Invalid Adress

2 réponses
Avatar
Dominique de LAPASSE
Bonjour,

Je travaille sous VC++ 6.0,

En sortant d'une Dialog en mode Release, j'ai une MessageBox qi affiche le
message suivant :

User breakpoint called from code at 0x77f6f570

Dans l'onglet DEBUG j'ai :
HEAP[J2TPASSAdmin.exe]: Invalid Address specified to RtlFreeHeap( 009D0000,
05BD0E94 )

Et le debugger m'arrete sur la fenêtre Disassembly ligne :
int 3

Le phénomène se reproduit en lancant l'executable directement par un arret
du programme et le proposition d'envoyer un rapport d'erreur a Microsoft.

Bien evidemment, en mode Debug, rien de similaire ne se produit et aucune
ligne d'alerte ne s'affiche dans l'onglet DEBUG.

Est ce que quelqu'un a une idée ?

Merci par avance
Dominique

2 réponses

Avatar
Arnaud Debaene
Dominique de LAPASSE wrote:

Est ce que quelqu'un a une idée ?



Tu fais un delete d'un pointeur que tu n'as pas alloué, ou bien tu fais un
double delete ou quelque chose comme çà. Vérifies :
- ce que tu fais dans le destructeur de ton dialogue.
- comment tu alloues et comment tu affiches ton dialogue.

Arnaud
Avatar
Dominique de LAPASSE
> Tu fais un delete d'un pointeur que tu n'as pas alloué, ou bien tu fais un
double delete ou quelque chose comme çà. Vérifies :



C est pas le style de la maison..... :-)
D'apres ce que je suspectes, c est plus un new créé dans une DLG et un
delete dans le destructeur d'un controle appartenant a la DLG. Ca va assez
dans le sens de ce qu'on peux trouver sur MSDN, C est a dire un new dans une
DLL et un delete dans une autre...

Merci



"Arnaud Debaene" a écrit dans le message de
news: 4038a2b6$0$28612$
Dominique de LAPASSE wrote:
>
> Est ce que quelqu'un a une idée ?

Tu fais un delete d'un pointeur que tu n'as pas alloué, ou bien tu fais un
double delete ou quelque chose comme çà. Vérifies :
- ce que tu fais dans le destructeur de ton dialogue.
- comment tu alloues et comment tu affiches ton dialogue.

Arnaud