Visual studio调试技巧

简介: Visual studio调试技巧

bug是什么?

  • bug的英文释义为“臭虫、虫子”,现在人们将在电脑系统或者程序中隐藏着一些未被发现的缺陷和问题统称为bug。

人类历史上第一个计算机程序bug就是和“虫子”有关。

有⼀位为美国海军⼯作的电脑专家叫格蕾丝·赫柏(Grace Murray Hopper),格蕾丝·赫柏1947年9⽉9⽇对Harvard Mark II设置好17000个继电器进⾏编程后,技术⼈员正在进⾏整机运⾏时,它突然停⽌了⼯作。于是他们爬上去找原因,发现这台巨⼤的计算机内部⼀组继电器的触点之间有⼀只⻜蛾,这显然是由于⻜蛾受光和热的吸引,⻜到了触点上,然后被⾼电压击死。所以在报告中,赫柏⽤胶条贴上⻜蛾,并把“bug”来表⽰“⼀个在电脑程序⾥的错误”,“Bug”这个说法⼀直沿⽤到今天。

  • Bug的官方释义:是用于描述计算机程序或系统中的错误,缺陷,错误,故障或错误的常见术语,该错误,缺陷,错误,故障或错误会导致产生错误或意外的结果,或导致其行为异常。大多数错误是由于人们在程序的源代码或其设计中所犯的错误和错误引起的,而一些错误则是由编译器生成的错误代码引起的。包含大量错误和/或严重干扰其功能的错误的程序被认为是错误的。详细说明程序中错误的报告通常称为错误报告,故障报告,问题报告,故障报告,变更请求等。——来自维基百科

Debug和Release

Debug

  • Debug被称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试。

  • Debug(调试)的官方释义:是一种有条理的过程,可以发现并减少计算机程序或电子硬件中的错误或缺陷数量,从而使其表现出预期的效果。当各个子系统紧密耦合时,调试会变得更加困难,因为一个子系统中的更改可能会导致另一个子系统中出现错误。已经编写了许多有关调试的书籍,因为它涉及许多方面,包括:交互式调试,控制流,集成测试,日志文件,监视,内存转储,统计过程控制,以及改进检测并简化更改的特殊设计策略。——来自维基百科

Release

  • Release被称为发布版本,它往往进行了各种优化,使得程序在代码大小和运行速度上都达到最佳,以便用户更好的使用。

如何调试

  • 调试:又称除错,是发现和减少计算机程序电子仪器设备中程序错误的一个过程。

调试的基本步骤:

1.发现程序错误的存在

2.以隔离、消除等方式对错误进行定位

3.确定错误产生的原因

4.提出纠正错误的解决办法

5.对程序错误予以改正,重新测试

VS调试快捷键

  • Visual studio是一个集成开发环境,简称IDE,它是集成了编辑器、编译器和调试器。(在Linux环境下,gcc是编译器,gdb是调试器)
  • 下面简绍几个在调试过程中常见的vs快捷键

F9:创建断点,取消断点

  • 断点的作用是可以在程序任意位置创造断点,在想让程序停留的地方打上断点,程序暂停执行后可以配合其他快捷键进行调试。

F5:启动调试,经常用来直接跳到下一个断点处。

F10:逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或者是一条语句

F11:逐语句,即每一次都执行一条语句,最为主要的是这个快捷键可以进入函数内部

ctrl+F5:开始执行不调试,在想让程序执行起来,而非调试可以直接使用

调试过程中查看程序信息

  • 在查看调试过程中的程序信息时,必须先要开始调试即F10

查看临时变量的值

查看内存信息

查看调用堆栈

查看汇编信息

查看寄存器信息

编译常见错误

编译型错误

  • 编译型错误⼀般都是语法错误,这类错误⼀般看错误信息就能找到⼀些蛛丝⻢迹的,双击错误信息也能初步的跳转到代码错误的地⽅或者附近

链接型错误

  • 链接型错误一般原因是因为标识符名不存在,拼写错误,标识符不存在或者引用的库不存在等原因

运行时错误

  • 运行时错误时程序员在编写程序时,为根据自身所想而产生的错误,需要用调试解决
相关文章
|
4月前
|
C++ Python
【Pybind11】pybind11在visual studio中的配置
【Pybind11】pybind11在visual studio中的配置
|
9月前
|
安全 NoSQL 程序员
VS studio实用的调试技巧
VS studio实用的调试技巧
131 1
|
存储 安全 NoSQL
Visual Studio 2022 你必须知道的实用调试技巧
大家好,前面我们讲了Visual Studio 2022的安装和使用以及scanf报错的解决方法 今天分享一些实用的 VS 技巧,而这些技巧很多人都不知道。当你以后在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS “骚”操作,他们会好奇地问:你是怎么做到的?有时候你知道一些别人不知道的小技巧便可以让你显得更专业。 PS:本文所有示例演示均基于 Visual Studio 2022 版本。
243 0
|
安全 程序员 编译器
visual studio 2022调试技巧介绍(2)
1.什么是bug? bug是计算机领域专业术语,bug原意是“臭虫”,现在用来指代计算机上存在的漏洞,原因是系统安全策略上存在的缺陷,有攻击者能够在未授权的情况下访问的危害。 漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。 2.调试是什么,如何调试? 2.1 调试的概念 调试简单来说就是调试是保证所提供的设备能够正常运行的必须程序。 通过一些工具对代码进行检测,修复bug。
133 0
visual studio 2022调试技巧介绍(2)
|
安全 程序员 编译器
visual studio 2022调试技巧介绍(1)
1.什么是bug? bug是计算机领域专业术语,bug原意是“臭虫”,现在用来指代计算机上存在的漏洞,原因是系统安全策略上存在的缺陷,有攻击者能够在未授权的情况下访问的危害。 漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。 2.调试是什么,如何调试? 2.1 调试的概念 调试简单来说就是调试是保证所提供的设备能够正常运行的必须程序。 通过一些工具对代码进行检测,修复bug。
322 0
Visual Studio远程调试(二)
在工作中有时候需要在服务器的环境下远程调试,例如调试微信相关服务的时候。
654 0
Visual Studio远程调试(二)
|
C++
Visual studio调试的快捷键
F9:光标到某一行,按F9可以给该行设置断点,或者取消断点; F5:执行程序到第一个断点停下;
220 0
Visual studio调试的快捷键
|
安全
Visual Studio远程调试(一)
在工作中有时候需要在服务器的环境下远程调试,例如调试微信相关服务的时候。
591 0
Visual Studio远程调试(一)