1.bug是什么?
我们在敲代码,甚至是在游戏或者生活场景中,经常会说我们遇到bug了。那么bug究竟是个什么东西呢?
“Bug” 的创始⼈格蕾丝·赫柏(Grace Murray Hopper),她是⼀位为美国海军⼯作的电脑专家, 1947年9⽉9⽇,格蕾丝·赫柏对Harvard Mark II设置好17000个继电器进⾏编程后,技术⼈员正在进⾏整机运⾏时,它突然停⽌了⼯作。于是他们爬上去找原因,发现这台巨⼤的计算机内部⼀组继电器的 触点之间有⼀只⻜蛾,这显然是由于⻜蛾受光和热的吸引,⻜到了触点上,然后被⾼电压击死。所以在报告中,赫柏⽤胶条贴上⻜蛾,并把“bug”来表⽰“⼀个在电脑程序⾥的错误”,“Bug”这个说法⼀直沿⽤到今天。
bug的意思就是指程序漏洞,是需要修复的。
2.debug是什么?
在bug前加一个de,它的意思就是解决bug,也就是看作调试的意思,相当于一个找到bug并解决它的过程。
3.debug与release
这是在vs中的两种不同的版本模式。
debug调试版本就是程序员用来调试自己代码的版本。
release发布版本就是程序员发布出去的代码版本,通常这个版本的代码进⾏了各种优化,使得程序在代码⼤⼩和运⾏速度上都是最优的,使得用户能有更好的使用体验。同时release版本不能进行调试。
它俩有个很显著的区别就是内存大小,debug版本远大于release版本。
4.vs的调试以及快捷键
调试是有快捷键的。
F9:创建和取消断点。
图中这个红色的点就是断点,断点的作⽤是可以在程序的任意位置被设置,打上断点就可以使得程序执⾏到想要的位置暂定执⾏,接下来我们就可以使⽤F10,F11这些快捷键,观察代码的执⾏细节。
F5:其实就是平常的运行键,也就是继续运行,不中断,直到遇到断点。通常和F9一起使用。图中那个箭头表示在按F5运行之后遇到断点停了下来。
F10:是逐过程运行,也是一次运行一条语句,但遇到子函数调用时不进入,直到子函数完成后直接继续。图中箭头就是开始调试的地方,而当按一次F10之后它只会向下继续调试一行,而不会像F5那样一直向下运行
F11:是逐语句运行,和F10的区别是,当遇到函数时会进入其内部继续进行调试。而F10会直接完成函数调用。图中可以看出在按下F11之后进入了函数中调试。
VS中常用的快捷键_vs快捷键-CSDN博客这篇博客里详细介绍了vs的一系列快捷键。
5.监视
如果我们在调试中想要查看每个变量的具体数据变化,那么就要用到监视。
在监视中输入我们想要监视的变量,然后在调试时变量的不同参数就会跟着发生变化。
6.内存
除了监视基本的数值,我们还可以查看内存的情况。
在地址栏输入要查看内存的变量,就会自动定位到该地址。
7.编程常见错误分类
编译型错误:编译型错误⼀般都是语法错误,这类错误⼀般看错误信息就能找到⼀些蛛丝⻢迹的,双击错误信息也 能初步的跳转到代码错误的地⽅或者附近。编译错误,随着语⾔的熟练掌握,会越来越少,也容易解决。
链接型错误:看错误提⽰信息,主要在代码中找到错误信息中的标识符,然后定位问题所在。⼀般是因为
• 标识符名不存在
• 拼写错误
• 头⽂件没包含
• 引⽤的库不存在
运行时错误:运⾏时错误,是千变万化的,需要借助调试,逐步定位问题,调试解决的就是运⾏时问题。