Visual Studio Debug 教程:入门
时间:2022-06-10
本文章向大家介绍Visual Studio Debug 教程:入门,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
学习资料:
开始学习:
与大多数 IDE 一样,Visual Studio 有两个调试阶段:
一是发现并解决 Build 过程中的项目和编译错误。
二是发现并解决 Run 过程中的动态错误。
1.Build Solution
Build 一个 Solution 先从配置开始。
Solution 的配置有两种基本类型: Debug 和 Release,区别如下:
- Debug模式生成的可执行文件运行速度慢,包含各种调试信息,不会商用
- Release模式生成的可执行文件进行了优化,可商用
配置好工程之后,就可以开始 Build 了。
最简单的方法是按下 F7,也可以在菜单中选择 Build Solution。
2.输出窗口
解决方案生成过程中的输出窗口
输出窗口会显示原始编译器输出,如Error,Warning 等。可以单击 Error 或 Warning 转到对应的代码行。
3.错误列表窗口
生成过程产生的错误、警告信息可以在错误列表窗口查看。
错误列表窗口
遇到错误解决方案:
- 将错误信息放到百度去搜
- VS自带了搜索功能,右键错误信息,点击“显示错误帮助”,通产也可以解决问题(另外,也可以点击 错误代码超链接,如 C4819,同样会执行该错误代码的搜索)。
4.代码静态分析
解决了生成过程中的错误,接下来就是要执行代码静态分析。在一开始的时候,尽量解决代码中出现的警告信息,可以省去将来不必要的麻烦。
5.运行程序
解决方案生成成功后,按下F5
键,将在Debug环境下启动程序。
6. 设置断点
按键 |
对应执行的操作 |
---|---|
F10 |
单步执行 |
F11 |
跳转至内层函数 |
Shift+F11 |
从当前函数跳出 |
在对应的代码行左侧空白处单击或者按下F9
键,将在代码行左侧出现红色圆点
,这就是常说的断点
。按下F5
键,程序即会在断点处停下来。还有几个常见操作,如下表:
按键 |
对应执行的操作 |
---|---|
F10 |
单步执行 |
F11 |
跳转至内层函数 |
Shift+F11 |
从当前函数跳出 |
7. 查看变量
在Debug模式下,程序执行到断点处停下来,可以查看变量的值,堆栈调用的情况。可以将鼠标悬停在变量名上查看,也可以在监视窗口中输入变量名查看,如:
在监视窗口中查看变量的值
在上图中可以看到我在调试程序时监视了srcImageName
和srcImage
这两个变量。
结语
以上就是今天所要介绍的在Visual Studio Debug环境下调试程序常用操作,文中如有不当之处欢迎留言。 我们下次再见。
- C#基础知识回顾--BackgroundWorker介绍
- Elasticsearch 瞬间入门
- 使用OpenLDAP 操作 Windows Active Directory
- 优化算法:到底是数学还是代码?
- Email 服务器之 SPF 记录
- WPF中播放声音媒体文件
- 设计模式学习--装饰者模式(Decorator Pattern)
- SQL Server 存储过程
- MySQL 转换 latin1 到 UTF-8
- C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
- Spring boot with Email
- 使用TensorFlow动手实现的简单的股价预测模型
- Spring boot with Oracle
- 项目重构--使用策略模式
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android开发实现控件双击事件的监听接口封装类
- Android普通应用升级为系统应用并获取系统权限的操作
- 使用kotlin协程提高app性能(译)
- Android中实现ping功能的多种方法详解
- Android开发获取手机内网IP地址与外网IP地址的详细方法与源码实例
- 在Android源码中编译出指定jar包的操作
- Android Studio 视频播放失败 start called in state1 异常怎么解决
- 解决Android 源码编译错误的问题
- Android 实现列表倒计时功能
- Android 多渠道(友盟)打包教程分享
- Android Broadcast 和 BroadcastReceiver的权限限制方式
- [GO] 变参函数-GO中函数传递变长参数
- 基于Android-Skin-Loader实现换肤效果
- 通过 Nginx 实现最简单的Nas服务器(文件分享)
- 解决Android Studio xml 格式化不自动换行的问题