Respuestas:
Hay una lista de interfaces de gdb en http://sourceware.org/gdb/wiki/GDB%20Front%20Ends
Desafortunadamente, esto solo proporciona más enlaces, pero no da pistas sobre el alcance y la usabilidad, que varían mucho allí. Recomiendo usar una interfaz que esté en desarrollo activo, ya que gdb cambia mucho.
Panel de GDB
https://github.com/cyrus-and/gdb-dashboard
El panel de GDB utiliza la API oficial de Python de GDB e imprime la información que desea cuando GDB se detiene, por ejemplo, después de un next
, como el display
comando nativo .
Vs TUI:
más robusto, ya que solo imprime en stdout en lugar de poner el shell en un estado de maldiciones más mágicas, por ejemplo:
vi
el modo .inputrc
causa problemas: /superuser/180512/how-to-turn-off-gdb-tui/927728#927728altamente configurable desde Python: puede seleccionar lo que desea generar y qué tan grande es cada sección dependiendo de lo que esté depurando.
Las vistas más útiles ya están implementadas: fuente, ensamblaje, registros, pila, memoria, hilos, expresiones ... pero debería ser fácil extenderlo con cualquier información que esté expuesta en la API Python de GDB.
TUI solo permite mostrar dos fuentes, ensamblados y registros, y eso es todo. A menos que desee modificar su código fuente C, por supuesto ;-)
Creo que GDB debería enviarse con una configuración como esa lista para usar y activada de manera predeterminada, de esa manera atraería a muchos más usuarios.
Ah, y el desarrollador principal, Andrea Cardaci , ha sido muy receptivo e increíble. Grandes felicitaciones.
Ver también: /programming/209534/how-to-highlight-and-color-gdb-output-during-interactive-debugging/17341335#17341335