中国建设工程交易信息网,常州百度推广排名优化,网站建设去哪里找客户,广州最新新闻事件1. 什么是bug bug本意是昆虫”或“虫子”#xff0c;现在一般是指在电脑系统或程序中#xff0c;隐藏着的一些未被发现的缺陷或问 题#xff0c;简称程序漏洞。 “Bug” 的创始人格蕾丝赫柏#xff08;Grace Murray Hopper#xff09;#xff0c;她是一位为美国海军工作的…1. 什么是bug bug本意是昆虫”或“虫子”现在一般是指在电脑系统或程序中隐藏着的一些未被发现的缺陷或问 题简称程序漏洞。 “Bug” 的创始人格蕾丝·赫柏Grace Murray Hopper她是一位为美国海军工作的电脑专家 1947年9月9日格蕾丝·赫柏对Harvard Mark II设置好17000个继电器进行编程后技术人员正在进行整机运行时它突然停止了工作。于是他们爬上去找原因发现这台巨大的计算机内部一组继电器的触点之间有一只飞蛾这显然是由于飞蛾受光和热的吸引飞到了触点上然后被高电压击死。所以在报告中赫柏用胶条贴上飞蛾并把“bug”来表示“一个在电脑程序里的错误”“Bug”这个说法一直沿用到今天。 历史上的第一个bug图片来自网络
2. 什么是调试debug 当我们发现程序中存在的问题的时候那下一步就是找到问题并修复问题。 这个找问题的过程叫称为调试英文叫debug消灭bug的意思。 调试一个程序首先是承认出现了问题然后通过各种手段去定位问题的位置可能是逐过程的调 试也可能是隔离和屏蔽代码的方式找到问题所的位置然后确定错误产生的原因再修复代码重新测试。
3. debug和release 在VS上编写代码的时候就能看到有debug和release两个选项分别是什么意思呢
Debug 通常称为调试版本它包含调试信息并且不作任何优化便于程序员调试程序 程序员在写代码的时候需要经常性的调试代码就将这里设置为debug这样编译产生的是debug版本的可执行程序其中包含调试信息是可以直接调试的。 Release 称为发布版本它往往是进行了各种优化使得程序在代码大小和运行速度上都是最优的以便用户很好地使用。当程序员写完代码测试再对程序进行测试直到程序员的质量符合交付给用户使用的标准这个时候就会设置为release编译产生的就是release版本的可执行程序这个版本是用户使用的无需包含调试信息等。 release版本和debug版本的对比
对比可以看到从同一段代码编译生成的可执行文件的大小release版本明显要小而debug版本明显大。
4. VS调试快捷键 那程序员怎么调试代码呢
4.1 环境准备 首先是环境的准备需要一个支持调试的开发环境我们上课使用VS应该把VS上设置为debug如 图 4.2 调试快捷键 调试最常使用的几个快捷键 F9创建断点和取消断点 断点的作用是可以在程序的任意位置设置断点打上断点就可以使得程序执行到想要的位置暂定执 行接下来我们就可以使用F10F11这些快捷键观察代码的执行细节。 条件断点满足这个条件才触发断点
F5启动调试经常用来直接跳到下一个断点处一般是 和F9配合使用。 F10逐过程通常用来处理一个过程一个过程可以是一次函数调用或者是一条语句。 F11逐语句就是每次都执行一条语句但是这个快捷键可以使我们的执行逻辑进入函数内部。在函数调用的地方想进入函数观察细节必须使用F11如果使用F10直接完成函数调用。 CTRL F5开始执行不调试如果你想让程序直接运行起来而不调试就可以直接使用。 VS更多快捷键了解http://blog.csdn.net/mrlisky/article/details/72622009
5. 监视和内存观察 在调试的过程中我们如果要观察代码执行过程中上下文环境中的变量的值有哪些方法呢 这些观察的前提条件一定是开始调试后观察比如
#include stdio.h
int main()
{int arr[10] { 0 };int num 100;char c w;int i 0;for (i 0; i 10; i){arr[i] i;}return 0;
}
5.1 监视 开始调试后在菜单栏中【调试】-【窗口】-【监视】打开任意一个监视窗口输入想要观察的对象就行。 打开监视窗口 在监视窗口中观察 5.2 内存 如果监视窗口看的不够仔细也是可以观察变量在内存中的存储情况还是在【调试】-【窗口】-【内存】 打开内存窗口 在内存窗口中观察数据 在打开内存窗口后要在地址栏输入arrnumc这类地址就能观察到该地址处的数据。 除此之外在调试的窗口中还有自动窗口局部变量反汇编、寄存器等窗口自行验证使用一下。