Combien de console.log() tu ajoutes au code avant de réaliser que Chrome DevTools a déjà tout ce qu'il te faut?
Le vrai changement de perspective, c'est d'arrêter de voir le debugging comme une chasse au trésor désespérée. Chrome DevTools a les Sources, qui te permettent de mettre des vrais breakpoints - pas juste "affiche cette valeur et croise les doigts" - et de parcourir le code ligne par ligne. Ce que les gens n'utilisent pas assez, c'est la fonction watch sur des variables spécifiques, comme ça tu vois en temps réel ce qui change pendant que le code s'exécute. Et puis il y a le console drawer qui reste toujours à portée de main, parfait pour faire des vérifications rapides sans arrêter l'exécution.
Un truc qui m'a sauvé pas mal de fois : utiliser l'onglet Network non seulement pour voir si les requêtes partent, mais pour vérifier exactement ce que tu reçois du serveur. J'ai passé des heures à debugger de la logique qui était en réalité un problème dans les données qui arrivaient. Si l'appli est complexe et a un état interne, Vue DevTools ou React DevTools (selon ce que tu utilises) sont des tueurs - tu vois l'état muter en temps réel et tu peux revenir aux états précédents. C'est pas de la magie, c'est juste que les gens souvent ne savent pas que ça existe.
Ah, et un dernier truc bête mais vrai : mets des breakpoints conditionnels. Tu ne veux pas toujours t'arrêter sur une ligne, tu veux t'arrêter seulement quand une certaine variable a une certaine valeur. Au moins tu te sauves le temps de cliquer sur "continue" mille fois.