当前位置:嗨网首页>书籍在线阅读

13-GDB的用户自定义命令

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

14.3.3 GDB的用户自定义命令

你也许已经知道GDB在启动时会查找一个名为.gdbinit的初始化文件。当它第一次被调用时,GDB会加载这个初始化文件(通常位于用户主目录中),并执行其中的命令。一个常用的命令组合是连接目标系统并设置一些初始的断点。在这种情况下,.gdbinit文件的内容看上去会像代码清单14-14中所显示的那样。

代码清单14-14 一个简单的GDB初始化文件

420.png 这个简单的.gdbinit文件首先开启了将命令历史保存到用户指定文件的功能,并设置了打印输出值的默认基数(16进制)。接着,它定义了一个GDB的用户自定义命令,名为 connect (用户自定义命令也常常称作宏)。当我们在GDB的命令行提示符后输入这个命令时,GDB会使用它所期望的方法(在这个例子中是串行端口)连接到目标系统上,并在 panic()sys_sync() 处分别设置一个系统断点。命令中的网络方法( host:port )被注释掉了,我们将在14.4节介绍这种方法。

GDB用户自定义命令的创新使用是无止境的。在调试内核时,我们常常需要查看一些全局的数据结构,比如任务列表和内存映射,这对调试很有帮助。我们在下一节中会介绍几个有用的GDB用户自定义命令,它们能够显示内核调试过程中可能需要访问的一些具体内核数据。