调试执行
启动调试
- 设置完断点、运行配置后,单击工具栏中debug图标即可启动调试功能。
- 调试功能启用后,会停在第一个(已启用的)断点处,会自动在代码变量所在行右侧展示该变量的取值信息,调试界面如图1的绿色参数信息所示。工程右下方出现Debugger视图,其中:
- 左侧Frames区域是程序的方法调用栈,在该区域中显示了程序执行到断点处所调用过的所用方法,越下面的方法被调用的越早。红框中的信息表示当前调试程序停留的代码行,例如main.cpp程序的第19行。
- Variables栏展示变量信息以及线程信息。
调试窗口图标解释如表1所示。
表1 调试窗口图标说明 图标
名字
作用
Rerun(Ctrl+F5)
重新执行调试功能。
Resume program(F9)
继续运行程序,到下一个断点处。
运行一个断点到下一个断点之间需要执行的代码,如果后面代码没有断点,再次单击该按钮将会执行完程序。
Stop(Ctrl+F2)
终止调试功能。
View Breakpoints(Ctrl+Shift+F8)
查看所有断点。
查看曾经设置过的断点并设置断点的一些属性,弹出界面以及功能详细说明请参见查看断点。
Mute Breakpoints
暂停使用所有断点。
Step Over(F8)
进入下一行代码。
单击该按钮,程序向下执行一行,如果当前行有函数调用,该函数将被执行完毕返回,然后到下一行,同时会显示Frames信息和变量信息,详细操作请参见Step Over功能。
Step Into(F7)
进入函数。
程序向下执行一行。如果该行有自定义函数,则运行进入自定义函数(不会进入官方库的函数),同时会显示Frames信息和变量信息,详细操作请参见Step Into功能。
Force Step Into(Alt+Shift+F7)
强制进入函数。
单击按钮,调试时能进入任何函数,包括自定义函数以及官方库函数,
Step Out(Shift+F8)
跳出函数。
如果调试时进入了某个函数,若检查该函数没有问题,则可以使用“Step Out”按钮跳出该函数,返回到原始位置。详细操作请参见Step Out功能。
Run to cursor(Alt+F9)
运行到光标处。
可以在没有设置断点的情况下,让程序运行到光标所在行时暂停,同时会显示Frames信息和变量信息,详细操作请参见Run to cursor功能。
下面以具体示例介绍各个调试功能。
将变量添加到Watches区域
,可以看到变量添加到下方您也可以单击左侧工具栏的功能按钮,完成更多功能:
- 单击左侧工具栏添加新的变量到“Watches”区域中。
- 单击左侧工具栏删除选中的变量。
- 单击左侧工具栏复制选中变量,用户可以基于复制后的变量,修改成想要的参数:
选中复制后的变量,右击选择
,重新输入新的变量名即可。 - 若 Watches区域变量或线程太多不方便查看变量信息时,可以单击左侧工具栏打开新的“Watches”窗口,变量会自动呈现到该窗口中,如图3所示。单击“Watches”窗口上方的,“Watches”窗口会自动合入“Variables”窗口。