基于VS2012:帮助文档的安装与使用、VS的使用、简单调试方法( 二 )


2.有的按钮可能没有需要我们手动添加 , 选中上方下拉框——添加或移除按钮——自定义
3.点击添加命令
4.左边下拉到调试 , 里面根据自己喜好添加快捷按钮
4.2调试方法
例如:下述代码是错误的 , 会出现数组越界的问题
#include void InitArr(int arr[10]){for (int i=0; i<10; i++){arr[i] = 0;}}int main(){int arr[] = {1,2,3,4,5};InitArr(arr);return 0;}
程序崩溃 , 那么我们如何进行调试?
1.点击右上方逐过程:经过函数不进入:查找崩溃点 。
点击逐过程:开始调试(调试框在下方)
执行到int arr这句:正常 , 未崩溃
未崩溃(但未进入函数内部)
未崩溃
直到执行完毕:程序才出现崩溃 , 提示数组越界 。我们对数组操作只使用了一个函数且刚才执行时并未进入该函数内部 , 因此崩溃点在函数内部 。
2.断点设置(图中红色实心圆):F9 , 我们需要进入函数内部观察 , 让其执行到该条语句停止 。
3.逐语句:进入该函数内部查看
一直点逐渐语句 , 观察下方i情况变化 , 最开始i=0;
4.即时窗口:用于添加变量 , 可以任意添加多个变量 。我们手动在下方添加arr[i]来观察它和i的变化 , 在进入到函数内部 , 一直点击逐语句或逐过程观察变化 。
当i=5时 , arr[i]的值出现随机值 , 原因是int arr[]默认为5个大小 , 出现数组越界问题 。
因此我们修改代码如下即正确:
#include void InitArr(int arr[10]){for (int i=0; i<10; i++){arr[i] = 0;}}int main(){int arr[10] = {1,2,3,4,5};InitArr(arr);return 0;}