前言
以前写过几篇关于调试/调试/解决bug的文章,但都是从宏观角度出发,没有具体深入分析是哪些工具。
在软件开发周期中,测试和纠正缺陷(缺陷,缺陷和bug的区别:Bug是缺陷的一种表现形式,一个缺陷可以导致多种Bug)的时间要比编写代码的时间长得多。一般来说,调试是指发现缺陷并加以纠正的过程。在调试之后修复缺陷,或者它们是相关的。如果代码中有缺陷,我们首先要确定缺陷的根本原因,这个过程叫做调试。一旦找到根本原因,缺陷就可以得到纠正。
如果工人们想尽最大努力,他们必须首先磨利他们的工具。一个强大的调试工具可以帮助我们快速发现和解决问题。这些工具能否用好,是新手程序员和高手程序员在工作方法上的一大区别。
所以,接下来,我要从我最熟悉、用户量最大的Visual Studio开始,写一系列关于Debug的教程。
Visual Studio提供了许多调试工具。有时调试需要花费大量时间来确定根本原因。VS提供了很多方便的工具来辅助调试。调试器包括错误列表、断点添加、可视化程序流、控件执行流、数据提示、观察窗口、多线程调试、线程窗口、并行调试概述和IntelliTrace调试概述。希望本文对调试功能的用户有所裨益。
虽然MSDN已经拥有了一切,但赤裸裸的英语世界仍然阻碍着许多开发者。在这里,希望大家能用最浅显易懂的语言,让大家快速上手VS的调试功能。
适用于VS支持的大多数编程语言,如c #、C/C、Visual Basic、JavaScript等。
说明本教程主要参考MSDN,但同时也增加了自己在使用过程中积累的一些经验。
好吧,让我们废话少说,言归正传。
本教程将介绍Visual Studio在初始阶段的一些调试功能。
与大多数ide一样,Visual Studio有两个调试阶段:
首先是在构建过程中发现并解决项目和编译错误。二是发现并解决Run过程中的动态错误。构建阶段
构建解决方案
要构建解决方案,请从配置开始。
解决方案配置有两种基本类型:调试和发布。
它们的不同之处如下:
Debug Release生成的可执行文件没有优化,大而慢,包含开发者添加的调试信息,不会投入市场使用。生成的可执行文件经过优化,小巧快速,可以投入市场使用。调试是默认配置。
此外,还可以指定目标平台,如x86(32位英特尔CPU)、x64(64位英特尔CPU)和ARM(ARM CPU,仅支持某些应用类型)。
要更改此值,请单击平台下拉列表,然后选择另一个平台或配置管理器.
配置项目后,您可以开始构建。
最简单的方法是按F7,或从菜单中选择“构建解决方案”。
2.输出窗
构建过程及其结果将显示在“输出”窗口中。
原始编译器输出,如错误、警告等。将显示在此处。您可以单击“错误”或“警告”转到相应的代码行。
这是一个成功的构建示例。
3.错误列表窗口
可以在“错误列表”窗口中查看构建过程中的错误和警告详细信息。
单击错误或警告,转到发生错误或警告的相应代码行。
如上所示,红色波浪线代表一个错误,您可以将鼠标悬停在它上面以获取该错误的详细信息。
有时,并非所有的Error都能一目了然,可能有些术语或代码仅对编译器有意义,例如:
致命错误C1189: #错误.
这个时候很多人做的就是把这段文字复制粘贴到百度/谷歌搜索栏,然后搜索。事实上,你不必做这样重复的工作。
万一你不知道,VS有自己的搜索功能。
右键单击相应的错误或警告条目,将出现一个菜单。单击显示错误帮助,Bing将自动搜索此错误或警告。
此外,还可以在代码栏中点击错误代码的超链接,如CS1525,也会进行错误代码的Bing搜索。
逐一检查并解决错误列表中的所有错误并重建解决方案,直到成功生成解决方案。
4.代码的静态分析
您可以尝试在生成期间解决错误列表中的所有错误后执行静态代码分析。
代码静态分析将分析代码中可能导致运行时错误的问题,并给出警告。
不要认为没有Erorr,如果构建成功,一切都会好的。一开始尽量解决代码中的Warning,可以省去以后不必要的麻烦。
您可以按快捷键Alt F11或单击下面的菜单来执行代码静态分析。
“错误列表”窗口中也会出现警告。单击“警告”选项卡查看。
跳到出现警告的行。绿色波浪线表示警告,您可以将鼠标悬停在其上以了解更多信息。
运行阶段
5.基本操作
构建解决方案成功后,按F5执行,这将在调试环境中启动程序。
默认情况下会出现两个窗口。
按中断或停止按钮暂停或停止程序。
按继续按钮继续程序。
6.设置断点
设置断点是调试过程中最常用的功能。
断点指示VS挂起哪一行代码。当程序挂起时,您可以查看任何您想要的内容,例如变量值、内存、代码执行分支等等。
设置断点非常简单。只需点击编辑区边缘或者在对应的代码行按F9,旁边就会出现一个红点,代表断点。
设置断点,按F5,程序将在断点处停止。
动画在这里。
接下来,几个常见的操作是:
F10一步一步结束代码F11一步进入代码跳转到内部函数Shift F11一步退出代码跳转出当前函数可以设置多个断点,在F5、F10等快捷键之间切换,并转到不同的断点。
7.检查变量
当程序运行到断点并停止时,您可以检查代码中的变量、堆栈调用等。以查看它们是否在预期范围内。
将鼠标悬停在变量上以查看其当前值。
让我们播放一个运动画面,使它更清晰。
摘要
以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。有问题可以留言交流。谢谢你的支持。