上一节:理解CGDB的几个核心概念,下一节:理解GDB窗口,目录:目录


2.1 理解代码窗口

您可以通过代码窗口查看当前被调试程序的源代码。CGDB只能同时显示一个源文件。当用户调试程序的时候,通过 nextstep 命令,CGDB将会更新源代码以及行号,以此提醒您调试进行到了何处。

CGDB有几个新特性能让调试比使用旧的GDB更方便。其中,当您在调试C,C++或ADA程序的时候,源代码是高亮的。这个特性可以让您更加快速的找到源文件中的特定代码。如果您需要让CGDB在调试其他语言程序的时候能够显示代码高亮,请联系我们。一些代码窗口的使用命令参见3.1节

除了显示源代码,CGDB也显示当前运行的代码行。当前被GDB运行的代码行的行号被高亮成绿色,同时CGDB也在这一行的行号前显示一个箭头。您可以通过配置选项 ':set arrowstyle' 来配置箭头的样式。默认的情况下,使用值 short 配置的短箭头生效。但是我个人更加喜欢使用值 long 配置的长箭头。

当您浏览代码窗口时,光标所在行的行号被高亮成了白色。它使得您可以知道光标处在当前文件的什么位置。

您可以通过CGDB的代码窗口设置或者取消一个断点。浏览至您需要设置断点的行,然后按下空格键,断点就会被设置。当断点成功被设置时,行号会被标红。再按下一次空格键断点就会被取消。当断点被禁用的时候,行号会被标黄。

CGDB还支持在代码窗口中使用正则表达式搜索源代码。您可以按下 / 或者 ?,然后加上您要搜索的字符串或者是正则表达式。这里的搜索使用的是C语言的正则表达式库,使得在搜索 '*''+' 时表现的更快。

代码窗口中可使用的全部命令的列表在3.1节