GDB 7.6 TUI не обновляет дисплей, создавая артефакты

335
hdl

Я использую GDB 7.6 на удаленном сервере.

Когда я запускаю gdb, все в порядке, пока не запускается программа для отладки. Я могу использовать стрелки вверх и вниз для навигации по истории GDB и т. Д. Нет ошибок отображения для отчета.

Когда я создаю точку останова где-то в моей программе, а затем runпрограмму для отладки, на дисплее появляется много артефактов (символов, отображаемых в неправильном месте), пока я не запустлюсь refresh. С тех пор next, stepi, nexti, стрелки вверх и вниз, и т.д. работы, но дисплей продолжает рисовать персонажей в неправильных местах. Если я не бегу refreshна каждом шаге, дисплей не тот, каким он должен быть. Кроме того, когда я нажимаю клавишу со стрелкой вверх или вниз, отображаются исходные коды ^[[Aили коды ^[[B, не позволяющие узнать, какая команда истории будет выполнена.

Я попытался определить крючки как

define hook-nexti refresh end 

Это фактически обновляет экран, но иногда могут возникать нежелательные артефакты (особенно в выделенной строке исполняемого кода), и это не является приемлемым решением, так как мне не нужны перехватчики на моей локальной машине (GDB 7.11, zsh 5.0.2) ,

У меня также есть GDB 7.7 на моей машине, с которым проблема может быть воспроизведена. Это ошибка, которая была исправлена ​​между GDB 7.7 и GDB 7.11? Если да, я просто скомпилирую binutils-gdbиз исходного кода, так как у меня нет корневого доступа на удаленном сервере.

3

0 ответов на вопрос