ACTUALIZAR:
Lo he comprobado y me complace informar que la Versión: 2016.1.3, Compilación: 145.1617.8, Lanzamiento: 5 de junio de 2016 funciona con Delve. Puede descargarlo aquí: https://www.jetbrains.com/idea/download/ . También siga las instrucciones de instalación de Delve aquí: https://github.com/derekparker/delve/tree/master/Documentation/installation
Es un poco escamoso. Justo después de recibir el mensaje de inicio de sesión de OSX, la depuración interactiva comenzó a funcionar. A veces, tengo que depurar un programa .go simple para iniciarlo. Pero funciona y es la mejor experiencia de depuración interactiva para Go que he visto.
POST ORIGINAL:
¿Existe algún depurador interactivo de golang? Si.
¿Existe algún depurador interactivo de golang que valga la pena usar? No.
Configurar GDB en Mac es tedioso, pero factible.
Sin embargo, una vez que empiece a utilizarlo, pronto se dará cuenta de que ha perdido el tiempo instalándolo.
Incluso puede configurar IntelliJ para usarlo.
El único valor que parecen proporcionar IntelliJ, LiteIDE, CGDB, etc. es que puede determinar más rápidamente que el soporte de depuración de GDB para Go es extremadamente deficiente.
Puede usarlo para recorrer algunos códigos de Go, pero intente imprimir el valor de cualquier cosa que no sean valores de variable muy simples y perderá el tiempo deseando un depurador decente.
Aquí hay un ejemplo de lo que sucede cuando intenta imprimir el valor de una estructura de datos de cadena de mapa [cadena] usando CGDB:
(gdb) print params
$1 = (github.com/go-martini/martini.Params) 0x15582 <runtime.reentersyscall+450>
... que es completamente inútil.
A continuación, intente esto:
(gdb) print params["UserID"]
... y obtendrá "Error de bus".
Delve ( https://github.com/derekparker/delve ) parece prometedor, ya que está escrito en Go, pero lo maneja usando la consola, no a través de un IDE.
Con mucho gusto pagaría por la versión empresarial de IntelliJ (o cualquier otro IDE) que hizo un trabajo decente al respaldar la depuración interactiva en Go.
A partir de ahora, fmt.Printf("%v", variable)
es tan bueno como parece.