Comment obtenir la stacktrace de toutes les goroutines en Go pour le débogage
Bonjour ! J'écris une application multithread en Go qui utilise beaucoup de goroutines. À un certain moment, le programme commence à fonctionner de manière instable — tantôt il se bloque, tantôt il produit des erreurs étranges. Je soupçonne que le problème est un deadlock (interblocage) ou une fuite de goroutines (lorsqu'elles sont créées mais ne se terminent pas).
J'ai besoin de comprendre quelles goroutines sont actuellement en cours d'exécution et sur quelles lignes de code elles se sont arrêtées. Je sais qu'en Java, on peut utiliser `jstack` ou `Thread.getAllStackTraces()`, mais en Go, je n'ai pas trouvé d'équivalent.
Par exemple, j'ai ce code :
```go
package main
import (
"fmt"
"sync"
"time"
)
func main() {
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
time.Sleep(10 * time.Second)
fmt.Println("goroutine 1 done")
```