debugging - 如何让 gdb 保存命令历史记录?

标签 debugging gdb

如何设置 gdb 以便它保存命令历史记录?当启动新的 gdb session 时,我想使用向上箭头键来访问先前 session 的命令。

最佳答案

简短回答:

mkdir -p ~/.config/gdb
echo 'set history save on' >> ~/.config/gdb/gdbinit
<小时/>

长答案:

命令历史记录包含在 GDB manual, 22.3 Command History 中。创建文件$HOME/.config/gdb/gdbinit ,并添加以下行:

set history save on

您可以使用以下命令设置保存的过去命令的数量。该命令被描述为“设置 gdb 在其历史列表中保留的命令数。默认为环境变量 GDBHISTSIZE 的值,如果未设置此变量,则为 256。GDBHISTSIZE 的非数字值为忽略。如果大小是无限的或者如果 GDBHISTSIZE 是负数或空字符串,则 gdb 在历史列表中保留的命令数量是无限的”。

set history size <size>

相关命令是 set history remove-duplicates <count> 。该命令被描述为“控制命令历史列表中重复历史条目的删除。如果计数非零,gdb将回顾最后的计数历史条目并删除与命令历史列表重复的第一个条目。当前条目被添加到命令历史记录列表中。如果计数不受限制,则此后向查找是无界的。如果计数为 0,则禁用删除重复历史记录条目”

set history remove-duplicates <count>

默认情况下,gdb 将历史记录保存到文件 ./.gdb_history in the current directory 。如果您希望命令历史记录不依赖于您所在的目录,还包括:

set history filename ~/.gdb_history

关于debugging - 如何让 gdb 保存命令历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3176800/

相关文章:

javascript - 以独立方式调试 JavaScript 有哪些选项?

php - 调试 MySQL

c# - 如何创建更准确的 Break Point 或 Try/Catch

linux - 如何在 GDB 中运行以前的指令?

c++ - GDB 奇怪的行为 - Linux

linux - 为什么 gdb 中的 pthread_mutex_t 结构全为零?

ruby-on-rails - 为什么我会收到此参数错误?

debugging - 如何调试 RESTful 服务?

batch-file - 如何让 gdb 重复获取堆栈跟踪?

c++ - gdb - 获取真正的崩溃行