Un débogueur, pourquoi faire ?
La question que je me pose en voulant lisant est l'intérêt d'un débogueur ?
D'abord, il y a la complexité du langage utilisé. Travailler en assembleur (mais qui le fait encore aujourd'hui) nécessite un débogueur surtout si vous ne faite que de la maintenance (donc vous n'avez rien développez de cette application) et que la logique du programme n'est pas votre logique. Il faut un certain temps pour comprendre ce que fait le programme, et un débogueur vous fait gagner du temps. Et ce, même si vous développez une nouvelle application en assembleur.
Ensuite si vous utilisez un langage évolué comme du C++, l'application ne s'écrit pas en un seul bloc mais se construit pas à pas. Et donc j'espère que vous testez chaque étape dans vos développements. Et si vous avez un bogue alors vous savez que cela concerne les dernières lignes écrites. Un bon COUT (C++) ou PRINT (C) ou encore un DISPLAY (COBOL) est largement suffisant car vous savez où chercher !
Mais si vous avez plusieurs années d'expériences en informatique, un débogueur ne vous plus à rien.
Maintenant la constatation est la suivante :
1) connaissez vous parfaitement le langage que vous utilisez ? hormis l'assembleur qui est un cas particulier, en principe vous n'avez pas besoin d'un débogueur.
2) connaissez-vous une méthodologie de développement ? En principe cela évite un certain nombres de bogues.
3) suivez-vous parfaitement la méthodologie ? Et bien c'est là que l'on rencontre les bogues lorsque l'on veut sortir des sentiers battus.
4) s'il s'agit d'une mise au point (suite à des testes), relisez votre code et corrigez tout ce qui n'est pas aux normes.
Pour ma part, je ne connais aucun débogueur car je développe en suivant une méthodologie et je respecte les normes du langage. De plus, j'évite les programmes monstrueux. Je préfère écrire plusieurs modules géré par un programme chapeau dont sa fonctionnalité est de gérer les appels. Si j'ai un problème alors j'utilise le bon vieux COUT, PRINTF, DISPLAY ... qui est à ma disposition et en général, l'erreur vient d'un non respect de ces normes.
Mais si le problème ne vient pas de votre développement, le débogueur ne fera que constater l'anomalie mais ne vous permettra pas de la résoudre car un débogueur ne vous indique jamais comment corriger cette anomalie.
Et enfin, si vous êtes le développeur de votre application, j'espère que vous suivez une méthodologie de développement et que vous savez ce que vous faite. Si vous êtes logique avec vous même, vous serez logique dans votre développement et un débogueur ne vous sert plus à rien.
Un débogueur est valable pour les débutants, pour se former à la compréhension du langage. Il vous fait perdre du temps mais cela est nécessaire pour votre formation. Par la suite, le débogueur, ce sera vous. Mais si après 10 ans d'expérience professionnelle, vous avez recourt à un débogueur, alors je vous le dit "changé de boulot". Car après tout ce temps, vous ne connaissez toujours pas ni le langage, ni des méthodologies de développement et donc vous êtes totalement incompétent.
Pour illustrer cela, considérez que vous faite de la bicyclette ! Avez-vous encore besoin d'un tricycle ?