免费做产品画册的网站,ps网站首页设计图制作教程,wordpress 高级字段,钱站网站如何文章目录 1.Debug 和 Release2.VS的调试快捷键3.对程序的监视和内存观察3.1监视3.2内存 4.编程常见错误归类4.1编译型错误4.2链接型错误4.3运行时错误 1.Debug 和 Release 在我们使用的编译器 vs 中#xff0c;这个位置有两个选项#xff0c;分别为Debug和Release#xff0c… 文章目录 1.Debug 和 Release2.VS的调试快捷键3.对程序的监视和内存观察3.1监视3.2内存 4.编程常见错误归类4.1编译型错误4.2链接型错误4.3运行时错误 1.Debug 和 Release 在我们使用的编译器 vs 中这个位置有两个选项分别为Debug和Release它们有什么作用呢
DebugDebug通常称为调试版本它包含调试信息并且不作任何优化便于程序员调试程序 程序员在写代码的时候需要经常性的调试代码就将这⾥设置为 debug 这样编译产⽣的是 debug 版本的可执⾏程序其中包含调试信息是可以直接调试的。所以我们每次开始写代码的时候一般都是为Debug模式。
ReleaseRelease 称为发布版本它往往是进⾏了各种优化使得程序在代码大小和运⾏速度上都是最优的以便用户很好地使用。当程序员写完代码测试再对程序进⾏测试直到程序的质量符合交付客户使用的标准这个时候就会设置为 release 编译产⽣的就是 release 版本的可执⾏程序这个版本是用户使用的⽆需包含调试信息等。
我们在编译器写下以下代码并分别在Debug和Release条件下运行一下然后再看看与之相对于的文件。 Debug条件下 Release条件下 对⽐之下我们可以看到从同⼀段代码编译生成的可执行⽂件的大小release版本明显要小而debug版本明显大这就是两个版本有无进行优化的区别。
2.VS的调试快捷键
首先我们想进行调试的话编译器必须是Debug的模式 以下有几个调试常用的快捷键 F9创建断点和取消断点
断点的作用是可以在程序的任意位置设置断点打上断点就可以使得程序执行到想要的位置暂定执 行接下来我们就可以使⽤F10F11这些快捷键观察代码的执行细节。 条件断点满足这个条件才触发断点
例如下图中的红色圆圈就是断点该断点对应第6行启动调式时则可以让程序执行到该位置
F5启动调试经常⽤来直接跳到下⼀个断点处⼀般是和F9配合使用 即在认为有问题想对该位置进行调式观察的地方打下断点后F5启动调式就可以对该处进行调试
F10逐过程通常⽤来处理⼀个过程⼀个过程可以是⼀次函数调用或者是⼀条语句。 比如在遇到函数调用的语句时不会跳转到函数的内部再执行函数中的每条语句只直接对函数调用这条语句执行一次
F11逐语句就是每次都只执行一条语句这个快捷键可以使我们的执行逻辑进⼊函数内部对函数内部的语句一条条的指向。在函数调用的地方想进⼊函数观察细节必须使用F11如果使用F10直接完成函数调用。
CTRL F5开始执行不调试如果你想让程序直接运行起来而不进行调试就可以直接使用
3.对程序的监视和内存观察
3.1监视
我们如果不调试直接执行那么得到的结果就直接是最终结果而不能观察到某个值在程序中是如何变化的。 所以如果我们想要知道该值在程序中是如何变化的我们就可以在调试的情况下打开监视窗口
开始调试后在菜单栏中【调试】-【窗口】-【监视】打开任意⼀个监视窗⼝输⼊想要观察的对象就可以了。 例如 这里可以看到执行到此处时a是5 执行到此处时a就变成了15
3.2内存
如果监视窗口看的不够仔细也可以观察变量在内存中的存储情况在【调试】-【窗口】-【内存】打开内存窗口 我们在调试的条件下可以通过来获取某个值的地址从而查看该值在内存中的情况。
如 想要知道b的内存情况就吧然后按下回车 我们就可以找到该值所在地址并且知道它的内存存了一个10 在打开内存窗口后要在地址栏输⼊arr数组的首元素表示地址numc这类地址就能观察到该地址处的数据。
当然vs中在调式条件下还有许多窗口等可以自行研究研究
4.编程常见错误归类
4.1编译型错误
编译型错误⼀般都是语法错误这类错误⼀般看错误信息就能找到⼀些蛛丝马迹的双击错误信息也能初步的跳转到代码错误的地⽅或者附近。
4.2链接型错误
看错误提示信息主要在代码中找到错误信息中的标识符然后定位问题所在。 ⼀般是因为以下原因 1.标识符名不存在 2.拼写错误 3.头⽂件没包含 4.引用的库不存在
4.3运行时错误
运行时错误是多种多样的当遇到这种问题时我们首先可以读一读代码找找可能出错的位置再在这些地方进行调式逐步排查并且找出错误。