如何设置gdb以保存命令历史?当开始一个新的gdb会话时,我想使用向上箭头键来访问前一个会话的命令。
简短的回答:
mkdir -p ~/.config/gdb
echo 'set history save on' >> ~/.config/gdb/gdbinit
长一点的回答:
命令历史记录包含在GDB手册22.3命令历史中。创建一个$HOME/文件。Config /gdb/gdbinit,增加如下行:
set history save on
您可以通过以下命令设置保存的过去命令条数。该命令被描述为“设置gdb保存在其历史列表中的命令数量”。默认为环境变量GDBHISTSIZE的值,如果没有设置该变量,则为256。GDBHISTSIZE的非数值值将被忽略。如果size是无限的,或者如果GDBHISTSIZE是负数或者是空字符串,那么gdb在历史列表中保存的命令数量是无限的。
set history size <size>
相关命令为set history remove- duplduplicate <count>。该命令描述为“控制删除命令历史记录列表中重复的历史记录项。”如果count不为零,gdb将查看最后一个计数历史条目,并删除添加到命令历史列表中的当前条目的副本的第一个条目。如果count是无限的,那么这个后视是无界的。如果count为0,则禁用删除重复的历史条目”。
set history remove-duplicates <count>
默认情况下,gdb将历史保存到./文件中。Gdb_history在当前目录下。如果你想让你的命令历史不依赖于你所在的目录,还可以包括:
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.
从文档中可以看出:
设置历史大小 设置历史记录大小不限 设置GDB在其历史列表中保留的命令数量。默认为环境变量HISTSIZE的值,如果没有设置该变量,则为256。如果size是无限的,那么GDB在历史列表中保存的命令数量是无限的。
推荐文章
- 如何使gdb保存命令历史?
- 如何检查Flutter应用程序是否正在调试中运行?
- 如何设置断点在内联Javascript在谷歌Chrome?
- Chrome调试-打破下一个点击事件
- PHP -调试Curl
- 抛出异常时中断
- 如何逐步通过Python代码来帮助调试问题?
- 我如何调试一个HTTP POST在Chrome?
- Spring RestTemplate -如何启用请求/响应的完整调试/日志记录?
- 如何终止脚本执行时调试谷歌Chrome?
- 核心转储文件分析
- 我可以在GDB中设置“内存访问”的断点吗?
- 调试器中的步进和步进之间的区别是什么
- 将IntelliJ IDEA调试器附加到正在运行的Java进程
- 如何确定代码是否在DEBUG / RELEASE版本中运行?