リモート サーバーで 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
リモート サーバーにルート アクセス権がないので、ソースからコンパイルするだけです。