Erreur (0x80000003) - L'exception Point d'arrêt [Résolu]

Signaler
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
-
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
-
Bonsoir,
J'ai un probleme assez chiant:
J'essaye d'allouer de la mémoire pour une structure avec HeapAlloc, jusque la pas d'erreur, et des que j'affecte une valeur a un membre de la struct ca plante:
L'exception Point d'arrêt
Un point d'arrêt a été atteint.
(0x80000003)s'est produite dans l'application à l'emplacement 0x7C911230.
Voila.., je vois vraiment pas d'ou ca peut venir, si quelqu'un a une idée..

Neo_Fr

6 réponses

Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Bon finalement j'ai fait un HeapCreate tt au debut du prog, et ca fonctionne tres bien.., par contre quand je l'execute a partir du debugger tjrs la meme erreur..

Neo_Fr
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
Fais donc voir ta structure, son alloc et un exemple d'affectation sur un membre.

ciao...
BruNews, MVP VC++
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Voici la structure:
typedef struct _toolbar
{
HWND hwnd;
LPTBBUTTON lptbButton;
DWORD dwButton;
HINSTANCE hInst;
}TOOLBAR, *LPTOOLBAR; // sizeof 16

LPTOOLBAR lptBar;
lptBar = (LPTOOLBAR) HeapAlloc(GetProcessHeap(), HEAP_NO_SERIALIZE, sizeof(TOOLBAR));
if(!lptBar) return 0;
//si je met une messagebox ici sa passe (bien que ca met 1 ou 2 sec avant de l'afficher
lptBar->hInst = (HINSTANCE) GetWindowLongPtr(hwnd, GWLP_HINSTANCE);// des que j'affecte ca plante

Neo_Fr
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
Aucun problème sur ce bout de code.
HEAP_NO_SERIALIZE, je ne vois que ce flag pour causer des ennuis.
MSDN dit: This value should not be specified when accessing the process heap.

ciao...
BruNews, MVP VC++
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Nan rien a faire ca ne fonctionne tjrs pas, si je lance le debuggage depuis VC j'obtient ce message d'erreur:
HEAP[mp3LP.exe]: Heap missing last entry in committed range near 15b318
Windows a déclenché un point d'arrêt dans mp3LP.exe.
Comment je peux trouver d'ou ca vient?

Neo_Fr
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
Quand tu auras remplacé les HEAP_NO_SERIALIZE par 0, faudra remonter plus haut dans le code. Doit y avoir un prob dans la conception du déroulement.

ciao...
BruNews, MVP VC++