1. Bogue

Les programmeurs ont leur propre argot, bien que beaucoup le considèrent comme un jargon technique. Dans tous les cas, vous ne pouvez pas éviter de le connaître. Vous devez plonger dans les détails. Alors plongeons dedans.

L'un des premiers mots que vous apprendrez à connaître est « bug », c'est-à-dire un insecte . Dans le contexte du développement de logiciels, ce mot signifie une erreur dans un programme, une instance du programme faisant quelque chose de mal ou pas tout à fait bien. Ou tout simplement travailler étrangement.

Mais si un programmeur pense que le programme, malgré son comportement étrange, fait exactement ce qu'il est censé faire, alors il ou elle déclare généralement quelque chose comme "ce n'est pas un bogue, c'est une fonctionnalité". Ce qui a engendré un tas de mèmes Internet.

En général, il peut y avoir un certain nombre de raisons pour un défaut logiciel : des erreurs dans la logique du programme, des fautes de frappe et une architecture de programme incorrecte, jusqu'à des problèmes dans le compilateur. Dans tous les cas, les programmeurs doivent corriger à la fois les vrais bogues et toutes les autres "lacunes" de leurs programmes.

L'histoire du mot "bug"

La version la plus courante de l'origine du mot "bug" est en quelque sorte une légende.

En septembre 1945, des scientifiques de l'Université de Harvard testaient l'un des premiers ordinateurs, le Mark II. L'ordinateur ne fonctionnait pas correctement et, en vérifiant toutes les cartes, ils ont trouvé une mite coincée entre les contacts d'un relais électromécanique.

L'insecte extrait a été scotché dans un journal technique, accompagné de cette inscription : « Premier cas réel de bogue découvert ».

Cette drôle d'histoire serait à l'origine de l'utilisation du mot « bogue » pour désigner une erreur, et le mot « débogage » est devenu synonyme d'élimination des bogues.


2. Débogage du programme

Pour corriger les bogues de leurs programmes, les programmeurs utilisent des programmes spéciaux appelés débogueurs . Certains de ces programmes savent même comment déboguer le code machine.

Les programmeurs Java utilisent des IDE pour déboguer leurs programmes. Comme IntelliJ IDEA, Eclipse et NetBeans. IntelliJ IDEA est de loin l'IDE le plus puissant, nous allons donc parcourir le processus de débogage en l'utilisant comme exemple.

IntelliJ IDEA peut exécuter votre programme en deux modes :

Modes d'exécution Icône de la barre d'outils Raccourcis
Exécution normale Shift+F10
Démarrer en mode débogage Shift+F9

Vous êtes déjà familiarisé avec l'exécution normale : le programme démarre, s'exécute et se termine. Mais le mode débogage vous réserve bien des surprises.

Mode débogage

Le mode débogage vous permet de parcourir pas à pas l'ensemble de votre programme. Ou plus précisément, il vous permet de vous déplacer ligne par ligne . De plus, vous pouvez observer les valeurs des variables à chaque étape du programme (après l'exécution de chaque ligne de code). Et vous pouvez même changer leurs valeurs !

Pour acquérir une compréhension même minimale du débogage d'un programme, vous devez apprendre trois choses :

  • Points d'arrêt
  • Exécution étape par étape
  • Inspecter la valeur des variables

3. Points d'arrêt

L'EDI vous permet de placer des marqueurs spéciaux appelés points d'arrêt dans votre code. Chaque fois qu'un programme exécuté en mode débogage atteint une ligne marquée d'un point d'arrêt , l'exécution s'interrompt.

Pour mettre un point d'arrêt sur une ligne spécifique, il vous suffit de cliquer à gauche de la ligne dans IDEA. Exemple:

Points d'arrêt IntelliJ IDEA

La ligne sera marquée d'un point d'arrêt et IntelliJ IDEA la mettra en surbrillance en rouge :

marqué d'un point d'arrêt

Un deuxième clic de souris sur le volet à gauche du code supprimera le point d'arrêt .

Un point d'arrêt peut également être placé sur la ligne courante simplement en utilisant la combinaison de touches Ctrl+ F8. Appuyer à nouveau sur Ctrl+ F8sur une ligne qui a déjà un point d'arrêt le supprimera.


4. Démarrez le programme en mode débogage

Si vous avez au moins un point d'arrêt dans votre programme, vous pouvez exécuter le programme en mode débogage en appuyant sur Shift+ F9ou en cliquant sur "l'icône de bogue".

Après avoir démarré en mode débogage, le programme s'exécute normalement. Mais dès qu'il atteint une ligne de code marquée d'un point d'arrêt , il s'arrête. Exemple:

Démarrer le programme en mode débogage

Dans la moitié supérieure de la capture d'écran, vous voyez le code du programme avec deux points d'arrêt. L'exécution du programme s'est arrêtée à la ligne 5, marquée d'une ligne bleue. La ligne 5 n'a pas encore été exécutée : rien n'a encore été envoyé à la console.

Dans la moitié inférieure de l'écran, vous voyez les volets de débogage : le volet Débogueur , le volet Console  et un ensemble de boutons pour le mode débogage.

Vous pouvez réactiver votre programme (c'est-à-dire poursuivre l'exécution) en appuyant sur le bouton Reprendre le programme dans le volet inférieur gauche (ou appuyez sur F9).

Démarrer le programme en mode débogage 3

Si vous appuyez sur ce bouton (ou F9), le programme continuera à s'exécuter jusqu'à ce qu'il rencontre le prochain point d'arrêt ou se termine. Voici ce que nous voyons après avoir cliqué sur le bouton :

Démarrer le programme en mode débogage 4

Le programme s'est arrêté au deuxième point d'arrêt, et les mots Helloet andpeuvent être vus dans la console. C'est un signe que nous n'avons exécuté que deux des trois lignes qui affichent la sortie à l'écran.


5. Exécution étape par étape

Si votre programme s'exécute en mode débogage, vous pouvez également le parcourir : une étape correspond à une ligne . Il existe deux raccourcis clavier pour une exécution pas à pas : F7et F8: chacun provoque l'exécution de la ligne de code en cours. Mais d'abord, vous devez toujours arrêter votre programme avec un breakpoint .

Si vous souhaitez exécuter votre programme ligne par ligne, vous devez mettre un point d'arrêt au début de la main()méthode et l'exécuter en mode débogage.

Lorsque le programme s'arrête, vous pouvez commencer à l'exécuter ligne par ligne. Une pression sur la F8touche exécute une ligne.

Voici à quoi ressemble notre programme une fois qu'il s'est arrêté et que nous avons appuyé F8une fois sur la touche :

Démarrez le programme en mode débogage.  Exécution étape par étape

La première ligne de la méthode main a déjà été exécutée et la ligne courante est la deuxième ligne. Vous pouvez également voir au bas de la capture d'écran que le mot Helloest déjà affiché à l'écran.


6. Exécution pas à pas avec pas à pas dans les méthodes

Si vous avez écrit vos propres méthodes dans le programme et que vous voulez que l'exécution aille à l'intérieur de vos méthodes en mode débogage, c'est-à-dire que vous voulez "entrer dans la méthode", alors vous devez appuyer sur plutôt que F7sur F8.

Supposons que vous parcouriez le programme et que vous vous arrêtiez maintenant à la ligne 4. Si vous appuyez sur F8, IDEA exécutera simplement la quatrième ligne et passera à la cinquième.

Exécution pas à pas avec pas à pas dans les méthodes 2

Mais si vous appuyez sur F7, IDEA entrera dans la main2()méthode :

Exécution pas à pas avec pas à pas dans les méthodes 3

C'est très simple. Si vous ne vous souciez pas vraiment de ce qui se passe à l'intérieur d'une méthode ou comment, alors vous appuyez sur F8. Si c'est important, appuyez sur F7et parcourez tout son code.