Problemes de C/C++/Java/whatever

[quote name=‹ ZGoblin › date=’ 22 Sep 2002, 09:13’]Tranquille ! Je suis aussi d’accord pour le vendredi car pour l’instant, j’ai du mal à aller sur internet à l’IUT (problème de serveur Wind…:P.

Pour info, je débute en C/C++ mais je maitrise déjà très bien le Java (et le Cobol, non pas frapper).
[right][post=« 77872 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Hola, c’est quoi ce vieux thread, 22 sep 2002, mais j’étais où cette année, mais pourquoi j’ai dis que je maitriser le C/C++, c’est archi faux, j’ai jamais réussi à m’y mettre réellement. Pour le Java, là ca va, je maitrise toujours autant :stuck_out_tongue: et je faisais encore du Cobol :stuck_out_tongue:

Faudra réfléchir à relancer le thread mais là, j’ai pas le courage, on verra ça demain.

Eh sympa ce thread, dommage que tout soit sans dessus-dessous à cause de la migration de la db :stuck_out_tongue: Je plussoie vigoureusement, même si créer des problèmes de toutes pièces ça prend pas mal de temps.

Moi je vous propose un truc très légèrement différent, dans le même esprit mais plus simple. Il nous arrive à tous de perdre plein de temps sur un problème idiot, et après on râle de ne pas avoir cherché au bon endroit, et que c’était tellement logique, etc. Alors pourquoi ne pas relater nos découvertes à ce niveau là ? En les tournant sous forme de devinette, ce serait marrant.

Allez, je m’y colle avec un truc vraiment con, mais qui m’a laissé tout perplexe le temps que je découvre ce qui allait de travers.

Alors, je bosse en visual C++ .net 2003, et je debug un projet. Quelque chose se passe mal dans mon programme, ça déconne dans une template. Je right-clique pour avoir la définition de la template, je rajoute quelques tests, et je place des breakpoints. Je recompile mon application, je lance et ça break. Et là surprise, je me rends compte que mes tests semblent n’avoir aucun effet… pire, quand je regarde les variables en watch, ce qui s’y passe ne correspond pas du tout au code… et cerise sur le gâteau, il semble même se passer des choses sur les lignes blanches !

Question : qu’ai-je fait d’idiot pour avoir un tel bordel ? Je rappelle que j’ai recompilé l’application…

Tu utilises un nom de fichier qui correspond a un vrai lib template ?

C’est pour ca que l’on a crée les namespaces :stuck_out_tongue:

Enfin c’est un premier guess,

Koubiak

[quote name=‹ koubiak › date=’ 16 Jun 2005, 08:55’]Tu utilises un nom de fichier qui correspond a un vrai lib template ?

C’est pour ca que l’on a crée les namespaces :stuck_out_tongue:

Enfin c’est un premier guess,

Koubiak
[right][post=« 368728 »]<{POST_SNAPBACK}>[/post][/right][/quote]
Non :stuck_out_tongue: Il utilise bien ma template, mais le code a un comportement bizarre… En fait, il fait la même chose qu’avant les changements, alors que le debugger me permet d’aller pas à pas (F10) dans le nouveau code.

Moi je dirais un post build event manquant (ou qui s’est chié dessus) et donc ta lib ne s’est pas copiée dans le répertoire de build de ton appli… donc tout connement le programme charge la vieille lib (c’est typique quand tu as 2 VS.Net d’ouvert et que tu build sur l’un sans arrêter le debugger sur l’autre).

[quote name=‘girafologue’ date=’ 16 Jun 2005, 11:54’]Moi je dirais un post build event manquant (ou qui s’est chié dessus) et donc ta lib ne s’est pas copiée dans le répertoire de build de ton appli… donc tout connement le programme charge la vieille lib (c’est typique quand tu as 2 VS.Net d’ouvert et que tu build sur l’un sans arrêter le debugger sur l’autre).
[right][post=“368847”]<{POST_SNAPBACK}>[/post][/right][/quote]

Ah y’a de l’idée… Mais le truc c’est que c’est pas une lib mais une template. On y est presque, ça chauffe.

Tu l’as compilé en release pas en Debug ? j’aurais tendance a dire maintenant.

Koubiak

[quote name=‹ koubiak › date=’ 16 Jun 2005, 12:06’]Tu l’as compilé en release pas en Debug ? j’aurais tendance a dire maintenant.

Koubiak
[right][post=« 368856 »]<{POST_SNAPBACK}>[/post][/right][/quote]
J’allais le dire :stuck_out_tongue:

Eh non, allez je donne la soluce vu que ce n’est finalement pas si intéressant que ça:

En fait le truc c’est que j’ai cliqué sur l’endoit où j’utilise la template pour aller directement à sa définition, que j’ai modifiée. Lorsqu’on compile, les fichiers du projet sont sauvés sur le disque dur avant compilation. Le problème ici est que le fichier n’était pas dans le projet. Résulat, l’ancienne version du code a été compilée à la place. Mais lorsque j’ai débuggé dedans, vu que le fichier était déjà ouvert dans l’éditeur, visual studio a utilisé cette version là (la version modifiée) en me pointant les lignes correspondant à l’ancienne version. Et ça donne donc un code qui s’exécute mais ne correspond pas du tout à ce qui est afficé :stuck_out_tongue: