GDB で、 のような長い出力を伴うコマンドを発行すると、出力が一度に 1 ページ表示され、下に移動して終了するinfo variables
のを押すことに気付きました。enter
q
デフォルトのページャーを などの別のものに置き換えてless
、上下に移動したり、終了したり、検索したりできるようにすることはできますか?
GDB で、 のような長い出力を伴うコマンドを発行すると、出力が一度に 1 ページ表示され、下に移動して終了するinfo variables
のを押すことに気付きました。enter
q
デフォルトのページャーを などの別のものに置き換えてless
、上下に移動したり、終了したり、検索したりできるようにすることはできますか?
デフォルトのページャーを別のものに置き換えることは可能ですか?
いいえ: GDB は外部プログラムを呼び出して出力を表示するのではなく、出力を一時停止するだけです (また、一時停止しないようにすることもできますset height 0
)。
内で実行することに加えて、またはemacs
を使用することもできます(それらを学習すると、通常、他の多くの状況で役立ちます)、または GDB に出力をログに記録するように依頼し ( )、必要に応じて検索することもできます。screen
tmux
set logging on
gdb.txt
$PAGER
次のユーザー定義コマンドを ~/.gdbinit に入れることができます。
% cat ~/.gdbinit
python import os
define less1
python os.popen("less","w").write(gdb.execute("$arg0",to_string=True))
end
define less2
python os.popen("less","w").write(gdb.execute("$arg0 $arg1",to_string=True))
end
...
% gdb
(gdb) less2 info var
...
(gdb) less1 disass
...
gdb
内部で実行するemacs
と、emacs のページング コマンドを使用できるはずです。
M-x gdb
return (M は meta - alt キーまたは Mac のオプションを表します)Run gdb (like this): gdb
詳細については、http: //tedlab.mit.edu/~dr/gdbintro.htmlをご覧ください。
HTH