如何设置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