¿Una interfaz de depuración basada en (n) curses?

No me gustan tanto los depuradores puramente de línea de comandos; pero a veces estoy usando una máquina que simplemente no tiene ninguna aplicación basada en X ni nada con otro tipo de GUI, y estoy restringido a una sesión de terminal.

Por lo tanto, estoy interesado en un depurador con (n) curses como interfaz de usuario, algo que me permita ver la fuente a medida que avanza en el seguimiento de la pila sin tener que escribir comandos constantemente, etc. No tiene que ser elegante ; entonces algo como el análogo de ncurses de, digamos, kdbg sería relevante.

Requerido:

  • Licencia libre.
  • Gratis.
  • Soporta gdb
  • Rápido
  • Utilizable con código C y C++

Deseable:

  • Soporte para otros lenguajes compilados
  • Admite el depurador de LLVM y gdb
  • Algún tipo de índice/análisis de código/etc. que permitiría pasar del uso a la definición, o entre definición y declaración
  • En desarrollo activo
  • Capacidad para interactuar con la interfaz de usuario de formas distintas a escribir comandos en alguna línea de comandos. (es decir, no solo una pantalla de estado más elegante sobre la línea de comando del depurador gdb/llvm).

Respuestas (1)

Vanilla GDB satisface sus limitaciones. gdb -tuise basa en maldiciones.

Además, GDB es capaz de personalización avanzada usando .gdbinit. Puede que te inspires en estos:

Algunas personas prefieren cgdb a GDB TUI.

Para obtener más opciones, consulte ¿Cómo resaltar y colorear la salida de gdb durante la depuración interactiva? en Desbordamiento de pila. Las capturas de pantalla se toman desde allí.

¿Pero no se basan todos en ingresar comandos en la línea de comandos?
GDB TUI tiene un modo de tecla única donde las tareas de depuración comunes requieren solo presionar una tecla. Aún así, se necesitan algunos comandos, por ejemplo, para establecer un punto de interrupción.
Entonces, voté a favor de esta respuesta, y obviamente es muy útil en comparación con el uso de gdb simple, pero todavía espero una respuesta que dependa menos de una línea de comando.
Escuché sobre Clewn , que permite usar Vim como una interfaz para GDB. Estoy planeando darle una vuelta en algún momento. Tiene el potencial de permitir una integración más estrecha y una interfaz más basada en accesos directos. Aún así, GDB es una herramienta tan avanzada que evadir todos sus comandos puede no ser la forma más cómoda de hacer las cosas.