OVH Cloud OVH Cloud

Visual C++ débutant erreur bizare...

12 réponses
Avatar
Benoit
Bonjour,

Je débute le C++ et Visual en même temps. Lorsque je compile ma classe ça
fonctionne...du moins je n'ai
pas de message d'erreur.

Par contre, lorsque je lance l'exécutable j'ai un truc bizare qui se
passe... voir ci-dessous:
/****************************************************/
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information
found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information
found.
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information
found.
Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information
found.
Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information
found.
Loaded 'C:\WINDOWS\system32\MSCTF.dll', no matching symbolic information
found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information
found.
Loaded 'C:\WINDOWS\system32\SynTPFcs.dll', no matching symbolic information
found.
Loaded 'C:\WINDOWS\system32\version.dll', no matching symbolic information
found.
The thread 0xFD0 has exited with code 3 (0x3).
The program 'G:\Mes documents\Z_TEMPORAIRE\Exo10bis\Debug\nvector.exe' has
exited with code 3 (0x3).
/*********************************************/

Savez vous ce que c'est?

Merci de votre aide.

Benoit

10 réponses

1 2
Avatar
Thierry
Bonjour,

Benoit a écrit :

Savez vous ce que c'est?



Execute en pas a pas.

T'es en MFC ? T'as une boucle de message ?

--
« Always look at the bright side of the life... »
Avatar
Benoit
Bonjour

Execute en pas a pas.


Je l'ai fait et c'est tout à la fin que ça coince...d'ailleurs les résultats
attendus sont bons mais quand il finalise le programme j'ai une erreur...

T'es en MFC ? T'as une boucle de message ?


Je ne sais pas ce que c'est MFC et boucle de messages...

Merci Benoit
Avatar
Nicolas
Benoit wrote:
Bonjour,

Je débute le C++ et Visual en même temps. Lorsque je compile ma classe ça
fonctionne...du moins je n'ai
pas de message d'erreur.

Par contre, lorsque je lance l'exécutable j'ai un truc bizare qui se
passe... voir ci-dessous:
/****************************************************/
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:WINDOWSsystem32kernel32.dll', no matching symbolic information
found.
[snip]
The thread 0xFD0 has exited with code 3 (0x3).
The program 'G:Mes documentsZ_TEMPORAIREExo10bisDebugnvector.exe' has
exited with code 3 (0x3).
/*********************************************/

Savez vous ce que c'est?



Tu lances ton prog en mode debug, c'est à dire avec des informations
internes lui permettant d'être exécuté pas à pas dans un débugguer.
Visual Studio charge les DLL dont le programme dépend, et regarde s'il
trouve des informations de débuggage. Ce n'est pas le cas, ces messages
sont donc affichés.
Mets ton programme en mode Release, et ils n'apparaitront plus (mais tu
ne pourras plus débugguer). Lorsque le prog est livré au client, il est
en mode Release. Le développement se fait en mode Debug.


Merci de votre aide.

Benoit




Nicolas.
Avatar
Benoit
Oui mais je ne peux donc pas debugger mes progs en release...parce que l
erreur ne semble pas venir des prog en eux-memes mais plus du logiciel (mal
installé?)...

Benoit
Tu lances ton prog en mode debug, c'est à dire avec des informations
internes lui permettant d'être exécuté pas à pas dans un débugguer.
Visual Studio charge les DLL dont le programme dépend, et regarde s'il
trouve des informations de débuggage. Ce n'est pas le cas, ces messages
sont donc affichés.
Mets ton programme en mode Release, et ils n'apparaitront plus (mais tu
ne pourras plus débugguer). Lorsque le prog est livré au client, il est
en mode Release. Le développement se fait en mode Debug.


> Merci de votre aide.
>
> Benoit
>

Nicolas.


Avatar
Arnaud Debaene
Benoit wrote:
Oui mais je ne peux donc pas debugger mes progs en release...parce
que l erreur ne semble pas venir des prog en eux-memes mais plus du
logiciel (mal installé?)...



Il n'y a *PAS* d'erreurs ni de mauvaise installation !!!

Visual te dis :

1) Qu'il essaie de trouver les informations de symboles (nécessaires pour le
debogage en mode pas à pas dans le code source) pour un cetain nombre de
librairies système qui sont chargées en même temps que ton executable. Comme
tu n'as ni les sources des librairies en question, et qu' d'autre part ce
qui t'intéresse (éventuellement) c'est de déboger *ton* code, ca n'a aucune
importance.

2) Que le programme se termine avec le code de sortie 3. Comme on n'a pas vu
les sources de ton programme, impossible de dire csi c'est normal et correct
ou pas.

Arnaud
MVP - VC
Avatar
Nicolas Favre-Félix
Benoit wrote:
Oui mais je ne peux donc pas debugger mes progs en release...parce que l
erreur ne semble pas venir des prog en eux-memes mais plus du logiciel (mal
installé?)...



Pour débugguer tes progs, tu as besoin des informations de débuggage. Le
mode Release est pour le build destiné à la distribution. Personne n'a
besoin des symboles de débuggage, ça alourdit le prog et ralentit
l'exécution. Dans la très grande majorité des cas, le mode Release est
le même programme qu'en Debug, sans les infos de débuggage. VS t'affiche
ces messages parce que Microsoft ne t'a pas livré des DLL système en
mode Debug, mais en mode Release. Il n'arrive pas à charger les
informations de débuggage de ces DLL et t'en informe simplement. C'est
parfaitement normal. Fais ton dev en mode Debug, trace tes programmes
comme tu le souhaites, et une fois que tu est sûr qu'ils fonctionnent,
fais les builds en Release et distribue-les.

À lire : http://www.giromini.org/usenet-fr/repondre.html#2

Nicolas.
Avatar
Benoit
Merci beaucoup pour vos commentaires.
J'y vois un peu plus claire maintenant.

Bonne soirée

Benoit

"Benoit" a écrit dans le message de
news:41b5f9fe$0$11223$
Oui mais je ne peux donc pas debugger mes progs en release...parce que l
erreur ne semble pas venir des prog en eux-memes mais plus du logiciel


(mal
installé?)...

Benoit
> Tu lances ton prog en mode debug, c'est à dire avec des informations
> internes lui permettant d'être exécuté pas à pas dans un débugguer.
> Visual Studio charge les DLL dont le programme dépend, et regarde s'il
> trouve des informations de débuggage. Ce n'est pas le cas, ces messages
> sont donc affichés.
> Mets ton programme en mode Release, et ils n'apparaitront plus (mais tu
> ne pourras plus débugguer). Lorsque le prog est livré au client, il est
> en mode Release. Le développement se fait en mode Debug.
>
>
> > Merci de votre aide.
> >
> > Benoit
> >
>
> Nicolas.




Avatar
Thierry
Bonjour,

Nicolas Favre-Félix a écrit :

Personne n'a
besoin des symboles de débuggage, ça alourdit le prog et ralentit
l'exécution.



Y'avait un ecran du VC debug sur les guichets d'achat de billet RATP...
Non seulement ils utilisent MS mais en plus installent des versions debug.

--
« Always look at the bright side of the life... »
Avatar
Thierry
Bonjour,

Nicolas Favre-Félix a écrit :

Personne n'a
besoin des symboles de débuggage, ça alourdit le prog et ralentit
l'exécution.



J'ai vu hier un ecran du VC debug sur les guichets d'achat de billet
RATP...
Non seulement ils utilisent MS mais en plus installent des versions debug.

--
« Always look at the bright side of the life... »
Avatar
JM
Nicolas Favre-Félix a écrit :

Fais ton dev en mode Debug, trace tes programmes
comme tu le souhaites, et une fois que tu est sûr qu'ils fonctionnent,
fais les builds en Release et distribue-les.



Oui enfin bon, je conseille de tester *fréquemment* le programme en mode
release.
Sinon, bonjour les mauvaises surprises...
1 2