Page 1 sur 1

Invalid Memory Access

Publié : lun. 08/mars/2010 1:55
par Guimauve
Bonjour à tous,

J'ai une question existentielle à savoir qu'est-ce qui provoque une erreur du type "Invalid Memory Access".
Plus particulièrement lorsque les pointeurs passés en paramètre sont non nulle.

Je suis entrain de devenir :twisted:

A+
Guimauve

Re: Invalid Memory Access

Publié : lun. 08/mars/2010 10:05
par Cls
Cette erreur survient généralement lorsque le programme essaye une lecture dans une zone mémoire invalide, soit parce qu'il n'a pas les droits nécessaires, soit parce que la mémoire est réservée, soit parce qu'elle est en court de lecture par un autre programme.

Bon courage en tout cas, c'est généralement très énervant de trouver la cause... :roll:

Re: Invalid Memory Access

Publié : lun. 08/mars/2010 13:56
par Le Soldat Inconnu
oui, en général, c'est un dépassement de mémoire qui provoque avec les pointeurs

Re: Invalid Memory Access

Publié : lun. 08/mars/2010 19:45
par flaith
genre un pointeur essayant de lire une zone de mémoire non allouée comme, par exemple :
--> tu alloues n éléments, tu fais une boucle allant de 0 à n au lien de n-1
Mais c'est vrai que c'est pas simple à débugger, bon courage :wink:

Re: Invalid Memory Access

Publié : mar. 09/mars/2010 0:11
par Guimauve
Cls a écrit :Cette erreur survient généralement lorsque le programme essaye une lecture dans une zone mémoire invalide, soit parce qu'il n'a pas les droits nécessaires, soit parce que la mémoire est réservée, soit parce qu'elle est en court de lecture par un autre programme.

Bon courage en tout cas, c'est généralement très énervant de trouver la cause... :roll:
Le pire c'est que j'utilise la même fonction avec les mêmes structures mais de provenance différente. Dans le premier cas de figure, il n'y a aucun problème. Dans le 2e cas et bien là c'est immanquable, ça plante sévère. Dans les 2 cas, la fonction qui provient d'une librairie "*.so" (*.dll c'est sensiblement la même chose) écrite en C, reçoit 2 pointeurs vers des structures et 1 valeur. (Les 2 pointeurs sont non nulle.) De plus, je peux parcourir les données à mon gré sans problème.

Merci à vous tous pour votre aide.

A+
Guimauve