GDB 7.6 TUI는 디스플레이를 새로 고치지 않고 아티팩트를 생성합니다.

GDB 7.6 TUI는 디스플레이를 새로 고치지 않고 아티팩트를 생성합니다.

원격 서버에서 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원격 서버에 대한 루트 액세스 권한이 없으므로 소스에서 컴파일하겠습니다 .

관련 정보