Lors du débogage async/await en TypeScript, la Stack Trace est ton meilleur ami - mais tu dois savoir la lire correctement. Si une Promise reste en attente non résolue, commence par vérifier si tu n'as pas oublié `await` quelque part. Ça arrive plus souvent qu'on ne le pense : tu appelles une fonction async, mais tu n'attends pas le résultat. C'est aussi souvent le cas avec `.map()` ou `.forEach()` - les callbacks sont async, mais la map elle-même n'attend rien. Là, `Promise.all()` ou `for...of` à la place des méthodes Array font l'affaire.
Un autre point important : regarde ta stratégie de gestion d'erreurs. Si tu as seulement du try-catch et que le message d'erreur a toujours l'air cryptique, log l'objet Error complet, pas juste le message. `console.log(error)` au lieu de `console.log(error.message)` montre souvent beaucoup plus de contexte. Et c'est vraiment important - en Node.js, il y a des Promise Rejections non gérées qui meurent simplement en arrière-plan. Active l'événement listener `process.on('unhandledRejection', ...)` pour déboguer, tu verras alors où les promises échouent vraiment.
Un conseil pratique : utilise TypeScript lui-même comme outil de débogage. Si tes annotations de type sont correctes, le compilateur TypeScript te dira déjà si tu as oublié d'attendre - tu obtiens des erreurs de type au lieu de surprises à l'exécution. Ça te fait gagner du temps de débogage.