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