3.6 IDE功能:单步调试、step out、step over
单步调试 :F11
step out :F10
step over:Shift + F11
单步调试 Stepping
IDE一行一行地执行命令,截止2019年8月,IDE不支持后退,如果不小心多执行一步,只能从头开始。因为后退功能需要记录IDE复杂的状态。
箭头所指表示IDE将要执行这一行,因为这一行表示调用另外一个函数,所以下一步,箭头跳转到另外一个函数。
等到这个函数执行结束,箭头还会回到之前的位置,此时表示该行命令已经执行结束,将要执行下一行。
step over
加入将要执行某个函数时,已经能够确认该函数正常,或者不感兴趣时,可以使用step over跳过该函数,不进入该函数一步一步调试。但是依然会执行该函数。
此时摁下F10,控制窗口会输出5,同时箭头指向 return 0
Step out
该命令的作用是假如已经进入某个函数执行,使用该命令后,将会执行完剩余所以命令,然后跳出函数。
3.7 Running and breakpoints
之前的单步调试,太慢了,对于大型程序到达我们关心的位置需要较长的时间。本节介绍Run to cursor
和断点
。
Run to cursor
单击关注的那一行代码——>右键——>
运行到光标
快捷键:CTRL + F10
该命令并不运行本行,是执行完本行之前的代码,将要执行本行。
断点
在行号前单击即可设置断点,点击运行,就会运行到断点处停止。
设置下一条语句
有时候可能我们不想运行程序中某段代码,需要跳过它们,这时可以使用本命令。必须已经进入调试之后,才能使用本命令。
光标放置到想要跳过的代码段的后一行——>右键——>设置下一条语句
注意:
1、可以向前跳跃,也是可以向后跳跃的
2、被跳跃的代码不运行,所以变量将保留跳转前的任何值。因此,跳跃可能会导致您的程序产生不同的值,结果或行为。
3.8 查看变量
方法一:
直接将鼠标放置到变量上即可查看。并且单击数值,还可以更改变量的值。
方法二:
光标放置到变量上——>右键——>添加监视,即可在界面里实时观察变量的值。
除了可以检测变量的值,单击添加要监视的项
,还可以输入和变量有关的表达式。比如:x+8什么的。
3.9 调用堆栈
有时候我们需要知道语句运行之间的前后或者逻辑关系。
Example:
在第五行和第十行设置断点,点运行。
第一次运行停留在第五行:
堆栈的含义是接下来运行第五行,然后a()返回之后运行main里面的17行。
第二次点运行,停留在第十行。
运行b函数的第十行,b()函数返回之后运行main()里面的19行。
第三次点运行,因为b()函数调用a()函数,再次停留在第五行。
堆栈的含义是,a()函数返回后,b()函数返回,然后继续main函数。他们之间的先后关系列出十分清晰。