实验报告
VS2015调试工具
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
1.VS2015下调试工具的基本使用方法
1.1.如何开始调试?如何结束调试?
1.1.1.开始调试
源程序写完后,选择菜单—调试—开始调试,或直接按F5
第 1页
1.1.1.结束调试 ┊
┊ 开始调试后,选择菜单—调试—停止调试,或按shift+F5
┊ 或者按┊ 这个 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
第 2页
1.2.如何在一个函数中每个语句单步执行? ┊
┊ 源程序写完后,选择菜单—调试—逐语句,或直接按F11
┊ 或者按┊ 这个 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
第 3页
实验报告
1.3.在碰到cout/sqrt等系统类/系统函数时,如何一步完成这些系统类/系统函数的执行而不要进入到这些系统┊
类/函数的内部进行单步执行?
┊
┊ 调试过程中,选择菜单—调试—逐过程,或直接按F10 ┊ 或者按┊ 这个 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊
第 4页 ┊
┊ ┊
1.4.如果已经进入到cout/sqrt等系统类/系统函数的内部,如何跳出并返回自己的函数? ┊
┊
在进入系统类/系统函数内部时,选择菜单—调试—跳出,或直接按Shift+F11
┊ ┊ 或者按┊ 这个 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
第 5页
实验报告
1.5.在碰到自定义函数的调用语句时,如何一步完成自定义函数的执行而不要进入到这些自定义函数的内部单┊
步执行?
┊
┊ 碰到自定义函数时,选择菜单—调试—逐过程,或直接按F10 ┊ 或者按┊ 这个 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊
第 6页 ┊
┊ ┊
1.6.在碰到自定义函数的调用语句时,如何转到被调用函数中单步执行? ┊
┊ 碰到自定义函数时,选择菜单—调试—逐语句,或直接按F11
┊ 或者按┊ 这个 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
第 7页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
2.用VS2015的调试工具查看各种生存区/作用域变量
2.1.查看形参/自动变量的变化情况
在调试过程中,选择菜单—窗口—局部变量,或按Alt+4,则可以在左下角查看变化情况
2.2.查
第 8页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
2.2.查看静态局部变量的变化情况
在调试过程中,选择菜单—窗口—局部变量,或按Alt+4,则可以在左下角查看静态局部变量的变化情况 静态局部变量在函数体外无法查看
第 9页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
2.3.查看静态全局变量的变化情况
通过在监视1中输入变量名来查看
第 10页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
在另一个cpp中,b的值为2
第 11页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
回到原的cpp中b的值变回原来的1
第 12页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
2.4.查看外部全局变量的变化情况
通过在监视1中输入变量名来查看
第 13页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
在另一个cpp中,a的值被改变
第 14页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
返回原来的cpp后,a的值依旧处于被改变的值
第 15页
3.用VS2015的调试工具查看各种不同类型变量的方法 ┊
┊
3.1.char/int/float等简单变量、数组变量 ┊
┊ ┊ 局部变量通过左下角的局部变量窗口查看,全局变量通过在监视1中输入来查看 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装
┊ 数组 ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊
线 数组 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
第 16页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 指向元素的指针。分别为地┊ 址和值 ┊┊ ┊ 装 ┊ ┊ 指向字符串常┊ 量的指针。可┊ 以查看无名字┊ 符常量的地址订 ┊ 指针数组。大┊ 括号前为自身┊ 地址,括号内┊ 为数组中元素┊ 的值 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
3.2.指针变量
在左下角中分别显示了指向元素的指针变量、指向一维数组的指针变量、指向字符串常量指针变量、指向函数的指针变量、指针数组、指向指针的指针 指向一维数组 的指针。分别 为行地址和值 (无法查看元素地址) 指向函数的指针。可以查看到函数的地址 指向指针的指针。左起分别为二级指针、指针、值
第 17页
┊ ┊ ┊ ┊ 与指┊针 不同,引用并┊ 为不单┊独 内其分┊配存 ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
3.3.引用
第 18页
┊ ┊ ┊ ┊ 越界访┊ ┊ 问,VS2015┊ 未报错 ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
3.4.使用指针时出现越界访问
第 19页 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
实验报告
第 20页
因篇幅问题不能全部显示,请点此查看更多更全内容