Bonjour,
J'ai 2 projets r�unis dans un workspace :
1) un projet "Win32 Console Application" : binbcxtp3
2) un projet "Win32 Dynamic-Link Library" : liblcxxli
binbcxtp3 utilise des fonctions de liblcxxli.
Lorsque je lance mon programme en mode Debug, j'ai un "User breakpoint" et lorsque je lance en mode Release, je n'ai aucun probl�me.
Je ne comprends pas pourquoi ? Cela m'emp�che de debugger mon programme en se mettant en mode debug.
Le code ci-dessous permet reproduire le probl�me :
Projet binbcxtp3 :
Projet liblcxxli :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 int main(int argc,char *argv[]) { struct SC_XLI01 *pXLI01; struct SC_SQL01 *pSQL01; pXLI01 = pC_XLI_GetNewTabOf(4); pSQL01 = (struct SC_SQL01 *) malloc(sizeof(struct SC_SQL01)); C_XLI_AddToTab_BC(pXLI01,(void *)pSQL01); C_XLI_DisposeTabWithFreePtrs(pXLI01); return 0; }
Lorsque je lance en mode pas � pas mon prog, ca plante au niveau de la fonction C_XLI_DisposeTabWithFreePtrs.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 /* Alloue un tableau de pointeur */ FCT_EXP struct SC_XLI01 *pC_XLI_GetNewTabOf(unsigned int _iNbPtrs) { struct SC_XLI01 * scPtrRetour = NULL; void **newPtrTab = NULL; /* Allocation structure principale d'un tableau */ scPtrRetour = malloc (sizeof(struct SC_XLI01)); /* Allocation des ptr de données */ newPtrTab = malloc(_iNbPtrs * sizeof(void *)); scPtrRetour->ptab = newPtrTab; return scPtrRetour; } FCT_EXP void C_XLI_AddToTab_BC(struct SC_XLI01 *_scPtr,struct SC_SQL01 * _iPtrInsert) { _scPtr->ptab[0] = _iPtrInsert; } FCT_EXP void C_XLI_DisposeTabWithFreePtrs(struct SC_XLI01 *_scPtr) { free((struct SC_SQL01 *) _scPtr->ptab[0]); }
Je suppose que le fait :
- d'allouer mon tableau de la DLL
- et d'allouer un �l�ment du tableau dans l'EXE
- et de d�sallouer mon tableau et ses �l�ements dans la DLL
pose probl�me car je n'ai AUCUN probl�me si je colle les fonctions de liblcxxli dans mon projet binbcxtp3.
Quelqu'un a-t-il une id�e ?![]()
Merci d'avance.
K�vin.
Partager