Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1111 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Uninitiliazed memory read...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Uninitiliazed memory read...

n°832043
ben33
Posté le 25-08-2004 à 17:05:35  profilanswer
 

J'ai des problemes avec un programme au boulot..
Donc mon chef m'a demandé de passer Purify...
Pas mal de choses dans le rapport.. dont le titre..
 
Vu que la chose se reproduit presque 1000 fois, j'ai voulu creuser le probleme...
 
Donc l'endroit indiqué est :  
-> if (LocaliseStrings) {
  stmp = locals ;
  LENGTH =  strlen(locals)
}
 
LocaliseStrings est défini dans un point h inclus dans le programme..
Or dans le point h, il est défini en extern..
impossible de trouver ailleurs une définition..
De plus, il n'est pas initialisé par défaut...
 
Donc je me suis dit qu'en l'initialisant à 0 ca enleverait l'erreur.. mais ou l'initialiser..?
 
A moins que cela ne soit un autre probleme...
Help!

mood
Publicité
Posté le 25-08-2004 à 17:05:35  profilanswer
 

n°832053
blackgodde​ss
vive le troll !
Posté le 25-08-2004 à 17:15:15  profilanswer
 

[type] LocalistStrings = 0;
 
mais si ton programme compile (et surtout est lié) c'est forcément qu'il est définit ailleurs.


---------------
-( BlackGoddess )-
n°832057
ben33
Posté le 25-08-2004 à 17:18:24  profilanswer
 

Je suis entierement d'accord BlackGoddess...  
Le probleme, c'est que je n'arrive pas a trouver ou... Et quand je fais une recherche avec VC++.. je ne trouve pas!
Du coup, je n'arrive pas a enlever les warnings de Purify...

n°832070
blackgodde​ss
vive le troll !
Posté le 25-08-2004 à 17:27:47  profilanswer
 

ton code est peut-être un .so, et la définition de la variable serait dans le programme principal ? (je ne sais pas si c'est possible)


---------------
-( BlackGoddess )-
n°832106
HelloWorld
Salut tout le monde!
Posté le 25-08-2004 à 18:11:16  profilanswer
 

Citation :

Or dans le point h, il est défini en extern..  
impossible de trouver ailleurs une définition..


Ben il est sûrement exporté par une dll.
Purify te dit que LocaliseStrings n'est pas initialisé (j'adore les devinettes...) ?

Citation :

De plus, il n'est pas initialisé par défaut...


Comment tu le sais ? S'il est dans une dll, il y a fort à parier pour que ce soit une variable initialisée. Fait passer ton exe par dependency walker, tu verras s'il importe ce symbole d'une dll.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°832234
ben33
Posté le 25-08-2004 à 20:44:30  profilanswer
 

Purify me dit "uninitialized memory read" qd il passe sur la ligne if(LocaliseString) ...
donc c pour ca que j'ai fait cette déduction..
Comment le corriger alors..?

n°832337
HelloWorld
Salut tout le monde!
Posté le 25-08-2004 à 22:07:23  profilanswer
 

Faut déjà savoir q'il a raison ou tord.
T'as trouvé où est défini LocaliseString ? T'as cherché s'il est pas exporté par une dll ?

n°832575
ben33
Posté le 26-08-2004 à 10:41:38  profilanswer
 

J'ai passé mon exe au programme que tu m'as indiqué..  
C'est super compliqué... je n'ai pas vu mon LocaliseStrings.. mais bon étant donné qu'il y a beaucoup de dll...
De plus, si c'était une dll... pourquoi je ne trouve rien dans msdn qui me parle de ca...?
 
je suis un peu perdu la...

n°832596
HelloWorld
Salut tout le monde!
Posté le 26-08-2004 à 10:56:21  profilanswer
 

ben33 a écrit :

De plus, si c'était une dll... pourquoi je ne trouve rien dans msdn qui me parle de ca...?


qui parle de quoi ?
http://msdn.microsoft.com/library/ [...] raries.asp
A partir du fichier où est déclarée exctern ta variable, tu en déduis la lib, donc la dll où il faut regarder... En classant alphabétiquement les symboles et en enlevant le name mangling si c'est du C++ (bouton C++), ça devrait aller...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Uninitiliazed memory read...

 

Sujets relatifs
MFC : comment delete le buffer apres avoir Read un CFile ?[FORTRAN] read ou pas read?
Probleme "out of memory"[Mysql/PhpMyadmin] Table Is Read Only
lib d'allocateurs en shared memory[C]problème read sur port série
[mysql] tables read onlyFontion read sous DOS...
ORA-01034 : ORACLE NOT AVAILABLE et ORA-27101 Shared memory realmPascal : erreur dans READ et WRITE
Plus de sujets relatifs à : Uninitiliazed memory read...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR