Estoy usando GDB 7.6 en un servidor remoto.
Cuando comienzo gdb
, todo está bien, siempre y cuando no se ejecute el programa a depurar. Puedo usar las flechas hacia arriba y hacia abajo para navegar por el historial de GDB, etc. No hay errores de visualización que informar.
Cuando creo un punto de interrupción en algún lugar de mi programa y luego run
el programa a depurar, la pantalla tiene muchos artefactos (caracteres mostrados en el lugar incorrecto) hasta que ejecuto refresh
. A partir de ese momento, next
funcionan las stepi
flechas nexti
arriba y abajo, etc.perola pantalla continúa dibujando caracteres en lugares equivocados. Si no corro refresh
en cada paso, la pantalla no es lo que debería ser. Además, cuando presiono la tecla de flecha hacia arriba o hacia abajo, se muestran los códigos de caracteres ^[[A
sin ^[[B
procesar, lo que no permite saber qué comando del historial se ejecutará.
Intenté definir ganchos como
define hook-nexti
refresh
end
En realidad, esto actualiza la pantalla, pero a veces aún puede haber artefactos no deseados (especialmente en la línea resaltada del código ejecutado) y no es una solución aceptable, ya que no necesito enlaces en mi máquina local (GDB 7.11, zsh 5.0.2). .
Resulta que también tengo un GDB 7.7 en mi máquina, con el que se puede reproducir el problema. ¿Es este un error que se solucionó entre GDB 7.7 y GDB 7.11? En caso afirmativo, simplemente compilaré binutils-gdb
desde la fuente ya que no tengo acceso de root en el servidor remoto.