调试快捷键
开始单步调试(F10):单步执行,遇到函数调用时把其当作一条语句执行
开始单步调试(F10):单步执行,遇到函数调用时把其当作一条语句执行
深入函数的单步执行(F11):单步执行,遇到函数调用是深入到其内部
执行到光标处(ctrl+F10):一次执行完光标前的所有语句,并停到光标处
跳出函数(shift+F11):执行完当前函数的所有剩余代码,并从函数跳出
重新开始调试(ctrl+shift+F5):重新开始调试过程
结束调试(shift+F5):执行完程序的剩余部分,结束调试 按一下编译也可结束调试
设置/取消断点(F9):在某一行设置和取消断点
调试时该注意的
注意不要按键太快,一旦跳过就需要重新开始
调试时要有耐心,多次调试是家常便饭
调试时注意变量的值的变化,因为一个变量值的不正常改变会导致错误
调试时注意是不是每个函数都执行了,总是跳过的话绝对有问题
调试时不求一次通过,粗调寻找可疑点
案例随有随加吧。。。。。。。。。。。。
调试时该注意的
注意不要按键太快,一旦跳过就需要重新开始
调试时要有耐心,多次调试是家常便饭
调试时注意变量的值的变化,因为一个变量值的不正常改变会导致错误
调试时注意是不是每个函数都执行了,总是跳过的话绝对有问题
调试时不求一次通过,粗调寻找可疑点
在循环体内,每执行一次run to cursor(
CTRL+F10),就相当于完整的执行了一遍循环体,经常用来替代多次执行F10
来
几个有错误的源码
/*简单的数组越界问题C++没有数组越界检查*/
#include<stdio.h>
int main()
{
int a[10],i,z=0;
for(i=0;i<=10;i++)
{
a[i]=z++;
}
for(i=0;i<=10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
数组越界通常会产生内存错误或者是程序意外终止,因为改了内存中不该改的值
案例随有随加吧。。。。。。。。。。。。