最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Visual Studio Debug实战教程之基础入门

来源:动视网 责编:小采 时间:2020-11-27 22:34:47
文档

Visual Studio Debug实战教程之基础入门

Visual Studio Debug实战教程之基础入门:前言 在过去,我已经写过好几篇关于调试 / debug / 解 Bug 的文章,但都是从宏观的角度上去讲的,并没有针对哪种工具做具体深入的剖析。 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种B
推荐度:
导读Visual Studio Debug实战教程之基础入门:前言 在过去,我已经写过好几篇关于调试 / debug / 解 Bug 的文章,但都是从宏观的角度上去讲的,并没有针对哪种工具做具体深入的剖析。 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种B


此时,很多人的做法是把这段话复制粘贴到百度/谷歌搜索栏再去搜索。其实你未必要去做这样的重复劳动。

也许你不知道,VS 自带了搜索功能。

在相应的 Error 或者 Warning 条目上右击,会出现一个菜单,点击 Show Error Help,将自动执行该 Error 或者 Warning 的 Bing 搜索。

 

另外,也可以点击 Code 列中的错误代码超链接,如 CS1525,同样会执行该错误代码的 Bing 搜索。

一一查看并解决 Error List 中出现的所有的 Error,Rebuild Solution 直至成功生成解决方案。

4、代码静态分析

解决了 Build 过程中 Error List 出现的所有 Error 之后,可以尝试执行代码静态分析。

代码静态分析会去分析代码中可能的导致运行时错误等问题,并给出 Warning。

不要觉得没 Erorr 了,Build 成功了,就万事大吉了,在一开始的时候,尽量解决代码中出现的 Warning,可以省去将来不必要的麻烦。

可以按快捷键 Alt+F11 也可以点击如下菜单,执行代码静态分析。

 

Warning 同样出现在 Error List 窗口,点击 「 Warning」选项卡查看。

 

跳转至出现 Warning 的代码行。绿色波浪线代表了 Warning,可将鼠标悬停在上方获取详细信息。

 

Run 阶段

5、基本操作

Build Solution 成功以后,按下 F5 执行,这将在 Debug 环境中启动程序。

此时默认出现两个窗口。

 

按下 Break 或 Stop 按钮来暂停或停止程序。

 

按下 Continue 按钮继续执行程序。

 

6、设置断点

设置断点是 Debug 过程最最最常用的功能。

断点指示 VS 在执行到哪一行代码的时候挂起。程序挂起的时候,可以查看任意你想看的东西,如变量值,内存,代码执行分支等。

设置断点很简单,只要在编辑区的边缘单击一下或者在相应的代码行按下 F9,旁边就会出现一个红色圆点,这个红色圆点就代表了断点。

 

设置好断点,按下 F5,程序即会在断点处停下来。

动图在这里。

 

接下来,常用的几个操作是:

F10 step over code 单步执行
F11 step into code 跳转至内层函数
Shift+F11 step out code 从当前函数中跳出

可以设置多个断点,在 F5,F10 等快捷键之间切换,转到不同的断点。

7、查看变量

程序执行到断点处,停下来的时候,可以查看代码中的变量,堆栈调用情况等,看下它们是不是在预期的范围内。

 

将鼠标悬停在变量上面,可以看到它此刻的值。

再放个动图,更清楚一点。

 

总结

文档

Visual Studio Debug实战教程之基础入门

Visual Studio Debug实战教程之基础入门:前言 在过去,我已经写过好几篇关于调试 / debug / 解 Bug 的文章,但都是从宏观的角度上去讲的,并没有针对哪种工具做具体深入的剖析。 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种B
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top