AGGIORNARE:
L'ho verificato e sono felice di segnalare che la versione: 2016.1.3, Build: 145.1617.8, rilasciata: 5 giugno 2016 funziona con Delve! Puoi scaricarlo qui: https://www.jetbrains.com/idea/download/ . Segui anche le istruzioni di installazione di approfondimento qui: https://github.com/derekparker/delve/tree/master/Documentation/installation
È un po 'traballante. Subito dopo aver ricevuto il prompt di accesso a OSX, il debug interattivo ha iniziato a funzionare. A volte, devo eseguire il debug di un semplice programma .go per avviarlo. Ma funziona ed è la migliore esperienza di debug interattiva per Go che abbia mai visto.
POST ORIGINALE:
Esiste qualche debugger interattivo Golang? Sì.
Esiste qualche debugger interattivo golang che valga la pena usare? No.
La configurazione di GDB su Mac è noiosa, ma fattibile.
Tuttavia, una volta che inizi a usarlo, ti renderai presto conto di aver perso tempo per installarlo.
Puoi persino configurare IntelliJ per usarlo.
L'unico valore che IntelliJ, LiteIDE, CGDB, ecc. Sembrano fornire è che puoi accertarti più rapidamente che il supporto per il debug GDB per Go è estremamente scarso.
Puoi usarlo per scorrere un po 'di codice Go, ma prova a stampare il valore di qualcosa di diverso dai valori delle variabili molto semplici e sprecherai il tuo tempo a desiderare un debugger decente.
Ecco un esempio di ciò che accade quando si tenta di stampare il valore di una struttura dati di una stringa map [stringa] utilizzando CGDB:
(gdb) print params
$1 = (github.com/go-martini/martini.Params) 0x15582 <runtime.reentersyscall+450>
... che è completamente inutile.
Quindi, prova questo:
(gdb) print params["UserID"]
... e riceverai "Errore bus".
Delve ( https://github.com/derekparker/delve ) sembra promettente, poiché è scritto in Go, ma lo si guida utilizzando la console, non tramite un IDE.
Pagherei volentieri per la versione aziendale di IntelliJ (o qualsiasi altro IDE) che ha fatto un lavoro decente supportando il debug interattivo in Go.
A partire da ora, fmt.Printf("%v", variable)
è quanto di meglio si possa.