短い答え: echo 'set history save on' >> ~/.gdbinit && chmod 600 ~/.gdbinit
長い答え:
コマンド履歴については、GDBのマニュアル「22.3コマンド履歴」で説明しています。ファイルを作成し、$HOME/.gdbinit
その権限をに変更して0600
、次のコンテンツを追加します。
set history save on
保存した過去のコマンド数を以下で設定できます。コマンドは、「gdbが履歴リストに保持するコマンドの数を設定します。これは、環境変数GDBHISTSIZEの値、またはこの変数が設定されていない場合は256に設定されます。GDBHISTSIZEの非数値は無視されます。サイズが無制限であるか、GDBHISTSIZEが負の数または空の文字列の場合、履歴リストにgdbが保持するコマンドの数は無制限です。
set history size <size>
関連するコマンドはset history remove-duplicates <count>
です。コマンドは、「コマンド履歴リスト内の重複した履歴エントリの削除を制御します。countがゼロ以外の場合、gdbは最後のcount履歴エントリを調べ、現在のエントリと重複する最初のエントリを削除しますコマンド履歴リストに追加されます。カウントが無制限の場合、この後読みは無制限になります。カウントが0の場合、重複した履歴エントリの削除は無効になります。
set history remove-duplicates <count>
デフォルトでは、gdbは履歴を現在のディレクトリの ./.gdb_historyファイルに保存します。コマンド履歴が現在のディレクトリに依存しないようにするには、次も含めます。
set history filename ~/.gdb_history
.gdbinit
Linuxでは、ファイルは他のユーザーによって書き込み保護されている必要があります。