如何設置gdb
以便保存命令歷史記錄?當開始一個新的gdb
會話時,我想使用向上箭頭鍵訪問以前會話的命令。如何讓gdb保存命令歷史記錄?
回答
簡短的回答:echo 'set history save on' >> ~/.gdbinit && chmod 600 ~/.gdbinit
龍答:
命令歷史被覆蓋在GDB manual, 22.3 Command History。創建一個文件$HOME/.gdbinit
,改變它的權限0600
,並添加以下內容:
set history save on
您可以設置保存了一些過去的命令數。該命令描述爲「設置gdb保存在其歷史列表中的命令的數量,默認爲環境變量GDBHISTSIZE的值,如果未設置此變量,則將其設置爲256.忽略GDBHISTSIZE的非數字值。如果size不受限制,或者GDBHISTSIZE是負數或空字符串,那麼gdb在歷史列表中保留的命令數是無限的「。
set history size <size>
相關命令是set history remove-duplicates <count>
。該命令描述爲「控制命令歷史記錄列表中重複歷史記錄條目的刪除。如果count不爲零,gdb將回顧最後的計數歷史記錄條目並刪除與當前條目重複的第一個條目被添加到命令歷史列表中如果count是無限的,那麼這個lookbehind是無界的,如果count爲0,則刪除重複的歷史條目被禁用「。
set history remove-duplicates <count>
默認情況下,GDB保存歷史到文件./.gdb_history in the current directory。如果你希望你的命令歷史記錄不依賴於目錄中,您都在,還包括:
set history filename ~/.gdb_history
如果您仍遇到問題,請確保您的HISTSIZE環境變量是合適的高數。我的是空的,引起gdb的「歷史記錄大小」設置爲默認值0
新增
export HISTSIZE=100000000
了我的〜/ .bashrc中,一切都膨脹
您可以通過檢查你的GDB歷史記錄設置做(GDB內部) 「顯示歷史」:
gdb$ show history
expansion: History expansion on command input is off.
filename: The filename in which to record the command history is "/home/xiao/.gdb_history".
save: Saving of the history record on exit is on.
size: The size of the command history is 100000000.
從docs:
集歷史尺寸大小
集歷史大小無限制
一套GDB保持在歷史列表命令的數量。默認值爲環境變量HISTSIZE的值,如果未設置此變量,則爲256。如果大小沒有限制,GDB在歷史列表中保留的命令數量是無限的。
我有同樣的問題。儘管在.gdbinit文件中放置了「設置歷史記錄大小100」,但HISTSIZE環境變量仍然導致歷史記錄大小設置爲零。 問題是gdb不明白[HISTSIZE可以設置爲無限制](http://stackoverflow.com/questions/9457233/unlimited-bash-history) – DavidW 2015-11-17 13:06:56
gdb中的HISTSIZE bug已經[固定爲2015年6月](https://sourceware.org/bugzilla/show_bug.cgi?id=16999),而不是您的系統中可能存在此更改。與此同時,如果設置了'HISTSIZE',則它必須> 0,否則gdb將禁用歷史記錄。 – 2016-02-26 18:33:44
- 1. MATLAB命令歷史記錄:如何保存備份的現有歷史
- 2. 如何讓Azure PowerShell記住命令行歷史記錄?
- 3. 如何保存IEx歷史記錄?
- 4. Iterm2保存命令歷史記錄中的SSH會話
- 5. 在pdb中保存命令歷史記錄
- 6. 從命令提示符保存結果的歷史記錄?
- 7. 保存firefox開發人員工具javascript命令歷史記錄
- 8. psql:如何不記錄單個命令到歷史記錄中
- 9. Firebug命令行歷史記錄
- 10. 檢索命令行歷史記錄
- 11. proc_open for php的命令歷史記錄
- 12. 如何將命令歷史記錄保存在MATLAB中的文本文件中
- 13. 如何在GDB中運行記錄指令歷史和函數調用歷史記錄?
- 14. 從SSH命令行歷史記錄刪除特定歷史
- 15. 保存命令輸出到bash歷史
- 16. 當前bash命令不保存歷史
- 17. 保存Zsh的歷史記錄〜/ .persistent_history
- 18. 保存QLabel的歷史記錄
- 19. 保持歷史記錄與WKWebView緩存
- 20. 在git中保存歷史記錄
- 21. 在iPhone中保存歷史記錄
- 22. 使用clearcase保存歷史記錄
- 23. 保存項目歷史記錄
- 24. MS Word保存歷史記錄
- 25. 如何在保存後保持VS更改歷史記錄?
- 26. Shell命令獲取特定命令的歷史記錄
- 27. 我如何在Windows中保存我的命令的歷史記錄(7)命令提示符?
- 28. CVS命令獲取存儲庫的簡要歷史記錄
- 29. 如何在Linux中使用日期命令的歷史記錄?
- 30. 如何在Octave中清除命令歷史記錄
注意:'.gdbinit'文件必須被別人寫保護,而不是你在linux上。 – urzeit 2013-07-03 08:47:18
@urzeit - 我認爲這是Ubuntu發行版失敗的原因。他們默認允許任何人進入其他人的主目錄。 – jww 2016-07-30 17:47:21
@jww如果權限設置不正確,則無法處理'.gdbinit'文件,無論默認設置是什麼或系統使用的主目錄有什麼其他限制。 – urzeit 2016-08-02 05:18:21