Le debug, c'est toute une histoire : quand on débute, on passe autant de temps à débugger qu'à coder.
Puis, progressivement, on débugge de moins en moins, mais en contrepartie, les bugs qui restent sont souvent beaucoup plus complexes...
Attention, on entre en mode captain obvious : un bon processus de debug, c'est important™.
Comme je le disais plus haut, au fur et à mesure de l'expérience, les bugs deviennent moins nombreux, mais plus complexes.
Il est donc important de mettre de votre côté un maximum d'atouts pour optimiser votre processus de debug.
Nous ne parlerons pas d'outils, mais plutôt de méthodes.
La technique du canard en caoutchouc a beau être idiote (et suscite souvent les rires d'un public à qui on la présente), c'est une des meilleures technique de debug.
Elle ne se prête d'ailleurs pas qu'au debug logiciel, et peut être utilisé pour toute situation bloquante de votre vie.
Le principe est simple : quand vous bloquez sur quelque chose, expliquez-le à quelqu'un. Et pour éviter d'ennuyer quelqu'un, expliquez-le à un objet inanimé, comme un canard en plastique, une figurine, un chat (qui passe son temps à dormir et peut donc être assimilé à un objet inanimé) : le fait de formuler à haute voix votre problème va faire travailler une autre zone de votre cerveau, et va bien souvent vous aider à voir le problème d'un autre angle.
Essayez, c'est spectaculaire.
Elle est con comme la lune et vieille comme le monde : lâcher prise un moment et revenir plus tard.
C'est pas toujours applicable (surtout dans l'urgence), mais c'est souvent bénéfique : laisser un bug de côté le temps d'une tâche différente permet de revenir sur le bug avec une vue différente.
Toutefois, si vous êtes maniaques (comme moi), c'est pas facile de lâcher prise face à un bug récalcitrant.