Je n'utilise généralement pas de débogueur, peut-être une fois toutes les deux semaines, mais ce n'est pas la première chose à laquelle je vais.
L'outil le plus important de mon travail est tellement omniprésent que j'ai failli oublier de le mentionner: les traces de pile. Plus de 90% des problèmes que je rencontre peuvent être résolus en examinant une trace de pile. Selon votre langue, cet outil n’est pas toujours très utile, mais s’ils sont bien implémentés par une langue, ils peuvent vous faire gagner un temps fou.
La deuxième manière la plus courante de détecter des problèmes simples est probablement le code que je viens de modifier. Je fais des tests unitaires assez souvent, donc je sais généralement ce que je viens de casser.
Pour un développement et un débogage plus complexes, je pourrais ajouter des instructions de journal de niveau de débogage ou de trace. Je considère les problèmes de développement comme un bon guide pour m'aider à placer les informations de trace de production / de journalisation de débogage, ce qui me conduit à:
Vous n'avez pas toujours un débogueur à portée de main. En production, il peut être impossible d’exécuter un débogueur (Heck, il est également impossible d’accéder aux machines de production, à l’exception des journaux, en fonction de la sécurité de votre entreprise). Il y a aussi des langages où connecter un débogueur prend trop de temps ou peut-être qu'il n'y a tout simplement pas de bons débogueurs disponibles.
Si vous avez toujours codé à l'aide de la logique et de la journalisation au niveau de débogage / trace, vous pouvez simplement examiner vos excellentes instructions de journal (éventuellement augmenter le niveau de journalisation) pour résoudre le problème sans même accéder au matériel.
Bien que je pense que les débogueurs sont un outil puissant, ne les laissez pas être le seul outil de votre boîte à outils!