CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

(C++) Utilisez le debuggueur !

JeanYvesYves
JeanYvesYves
Niveau 10
01 juillet 2005 à 14:20:27

Programmeurs C/C++ :

Voici un outil vraiment tres tres pratique :
le débugueur.

Le débugueur est une fonctionnalité de votre compilateur ( Visual C++ ou Dev C++ par exemple)
qui va vous permettre de comprendre poruquoi ce que vous faites ne marche pas.

Je vais expliquer les fonctionnalités d´un bon débuggueur ( je me base sur celui de visual, mais je pense que celui de dev se défend)
Voici les éléments qui composent un debuggueur :

Les breakpoints :
Les breakpoints sont des points ( souvent rouges) que vous pouvez mettre dans la marge de votre programme, en face d´une instruction.
Mettez des breakpoints aux endroits qui vous semblent douteux, puis lancez le programme. ( sur certains compilateurs, on peut lancer le programme pour qu´il passe par les breakpoints, ou pas. Ici, lancez celui qui passe par les breakpoints)
Exemple :
Prenez un programme tres simple. Mettez un breakpoint sur une instruction dans le main ( un cout ou un printf), et lancez le programme. Veillez a ce que le compilateur s´arrete, pendant l´execution, sur votre breakpoint.
Le code apparaitra, et une fleche dans la marge, vous dira a quel endroit est stopé le programme.

screenshot visual :
http://www.funsoul.com/vb/images/breakpoint.gif
screenshot dev :
http://www.dil.univ-mrs.fr/~garreta/generique/autres/fig/fig0320.PNG

A partir de la, voici ce que vous pouvez faire :
- cliquez sur des variables pour voir leur valeur : et ainsi, vérifiez que la variable est bien celle que vous attendiez...
souvent le compilateur lui meme vous met dans une fenetre la valeur des variables utilisées dans la fonction...
Si vous avez des structures, il y a des options pour voir les valeurs des variables dans les structures...
L´erreur classique : une fonction qui a renvoyé NULL parce qu´elle n´a pas marché, et sur laquelle on s´appuie ( exemple SDL : un SDL_LoadBMPSurface qui n´a pas trouvé le fichier dont vous lui parlez, renvoie NULL. Si vous essayez de blitter l´image apres, ça plante...)

- step next, ou " pas a pas" : permet d´avancer sur l´instruction suivante : dans un passage délicat, avancez pas a pas en controlant les valeurs de vos variables.

- step into : si vous etes au dessus d´un appel de fonction, step into permet de rentrer dedans.
- step out : sort de la fonction
- continue : continue d´avancer jusqu´a la fin du programme, ou le prochain breakpoint rencontré ( vous pouvez en mettre plusieurs)
- remonter dans les fonctions : vous avez la possibilité, quand vous etes dans une focntion, de visualiser celle qui l´a appelé.
- d´autres options que vous découvrirez...

Note : un programme lancé en débug, s´il plante, fera un breakpoint a l´endroit ou il a planté : vous pourrez ainsi visualiser les variables actuelles, et voir laquelle n´a pas la bonne valeur et fait tout planter.

PS : si vous voulez débuggueur une application graphique, ne la lancez pas en plein écran ( enlever le SDL_FULLSCREEN si vous etes dans SDL par exemple) le temps du debuggage.
PS2 : l´autre méthode, barbare, est de mettre des printf ou des cout partout... ça peut etre pratique dans certains cas, mais pensez au débuggueur ! !

Lapintade
Lapintade
Niveau 30
01 juillet 2005 à 14:23:04

Excellente information. C´est un element trés important de la programmation.

Moule53
Moule53
Niveau 10
01 juillet 2005 à 14:43:15

Cool :)

Merci beaucoup pour ces infos JY² :-)

JeanYvesYves
JeanYvesYves
Niveau 10
01 juillet 2005 à 14:50:51

c´est les memes ( je pense) je n´ai pas dev sur ma machine.
Mais arrete de m´appeller " mon ti JeanYvesYves", je vais vraiment finir par croire que les femmes ne t´intéressent pas :lol: "

Lapintade
Lapintade
Niveau 30
01 juillet 2005 à 14:52:10

a02halo a un probleme affectif, il appelle tout le monde comme ca. Je pense qu´il a du perdre ton nounours trés tot quand il etait jeune ( il est toujours jeune ? ) et ca l´a perturbé. :lol:

JeanYvesYves
JeanYvesYves
Niveau 10
01 juillet 2005 à 14:54:26

:lol: :rire: :rire2:

gollumkawder
gollumkawder
Niveau 10
01 juillet 2005 à 16:01:12

JYY > Si tu veux je peux mettre ton truc en page et le mettre en ligne, comme j´ai fait avec LGV et mes trucs persos

http://navilinux.free.fr/dx_visual8.htm
http://navilinux.free.fr/syntax_highlight.htm

Phomos
Phomos
Niveau 10
01 juillet 2005 à 16:02:33

Lapintadounet :lol:

JeanYvesYves
JeanYvesYves
Niveau 10
01 juillet 2005 à 16:25:25

http://navilinux.free.fr/dx_visual8.htm

franchement, je te l´ai déja dit, mais j´adore ton adresse de site :)

hebergé sous navilinux, une page sur DirectX et visual, looool ! ! :)

Virtuality
Virtuality
Niveau 8
01 juillet 2005 à 18:27:05

Mod boulet ON

Bon, dans mon bouquin " Le language C++" il parle que du debogeur de Visual C++ ( malin parce qu´ils filent Dev-C++ avec le bouquin :( ) .
J´ai été pas mal impressionné, et j´ai voulu tester sur Dev, mais rien, j´ai beau mettre des breakpoints n´importe ou, mon programme s´execute comme d´hab...
Il doit y avoir une autre manip je pense.
Est ce que qqn sait l´utiliser?
merci

Mod boulet pas encore OFF

gollumkawder
gollumkawder
Niveau 10
01 juillet 2005 à 18:32:08

JYY > Ma conception de l´esprit libre, c´est d´accepter toute technologie, du moment qu´elle m´est utile, le reste des idéaux utopistes me grisent simplement du fait de constater combien ils sont aussi bornés que les gens qu´ils accusent de l´etre.

Je mettrais un autre nom un jour

JeanYvesYves
JeanYvesYves
Niveau 10
01 juillet 2005 à 19:16:54

gollumkawder > comme c´est joliment dit ! :)

Virtuality > sous visual aussi, il y a une façon d´executer qui va vérifier les breakpoints, et une autre qui ne va rien vérifier et foncer.
Sous dev, ça doit etre pareil, a toi de trouver l´autre méthode :)

lord_kalipsy
lord_kalipsy
Niveau 10
01 juillet 2005 à 19:17:35

[troll_for_fun(ON)]

" Les breakpoints sont des points ( souvent rouges) que vous pouvez mettre dans la marge de votre programme, en face d´une instruction. "

J´aime ta définition de break point :-p
J´ai toujours cru que mes INT 3 étaient de gros truc bleu :/

[troll_for_fun(OFF)]

dnob700
dnob700
Niveau 10
01 juillet 2005 à 19:25:53

sous Dev C++ je crois que c´est F8 pour exécuter le programme en s´arrètant sur les point d´arret. C´est à dire c´est ce qu´ils appelle Debugger dans le menu Debug et non pas exécuter dans le menu exécuter...

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment