当前位置: 首页 > wzjs >正文

佛山网站建设服务公司域名是什么意思呢

佛山网站建设服务公司,域名是什么意思呢,响应式布局设计,如今做哪个网站致富1.什么是bug? bug:程序漏洞,也就是程序中存在的问题。 2.什么是调试? 当我们发现了程序中的问题后就会解决问题,前提是要找到问题,那么进行调试(debug)以此来找到问题。 3.debug…

1.什么是bug?

bug:程序漏洞,也就是程序中存在的问题。

2.什么是调试?

当我们发现了程序中的问题后就会解决问题,前提是要找到问题,那么进行调试(debug)以此来找到问题。

3.debug 和 release

在vs里编写代码时就有 debug 和 release 两个选项:

Debug 通常称为调试版本,包含调试信息,但是不会对代码进行优化,可以进行调试的。

Release 称为发布版本,是会对代码自动进行代码优化的,不可以调试,当程序员写好程序后并对程序进行测试,测试完成后就会发布release版本,面向用户使用。没有包含调试信息,所以是不可以进行调试的。

从上面我们就可以知道 debug 版本要比 release 版本要大得多,就是因为debug里面包含调试信息

4.vs调试技巧的快捷键

4.1准备环境

环境就是 vs 的 debug 版本

4.2调试常用的快捷键

F9:创建断点和取消断点

断点的作用是可以在程序的任意位置设置断点,打上断点就可以使得程序执行到想要的位置暂停执行,之后我们就可以使用 F10、F11 更加深层次的观察代码的执行细节

条件断点:满足这个条件,才触发断点

在下面输入条件:

F5:启动调试,经常用来直接跳到下一个断点处,一般是和F9配合使用。

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

F11:逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们进入函数内部,更加仔细地观察语句,此时就必须使用 F11,如果使用 F10 ,直接完成函数调用。

CTRL+F5:开始执行不调试。

5.监视和内存观察

5.1监视

当我们想明白每一个变量变化的每一个过程的时候,我们就可以选择监视,但是监视的前提是一定要调试才可以监视到每一个变量的变化。

 上面的监视窗口任意选一个就行,然后按 F10 就可以观察到了:

上面经历五次循环之后的数组内容

5.2 内存

如果想看数组arr、变量num、变量a的地址可以在地址栏那里写入:arr(数组名本来就是地址)  &num  &a

6.调试举例1

求 1!+2!+3!+4!+...10! 的和,我这里的代码写的是 3 是为了方便检查写的代码是否正确:

(你们运行的时候可以改动一下)

int main()
{int n = 3;int i = 0;int sum = 0;for (n = 1; n <= 3; n++){int ret = 1;for (i = 1; i <= n; i++) {ret = ret * i;}sum +=ret;}printf("%d\n", sum);return 0;
}

7.调试举例2

在VS2022、X86、Debug 的环境下,编译器不做任何优化的话,下⾯代码执⾏的结果是啥?

#include <stdio.h>
int main()
{int i = 0;int arr[10] = {1,2,3,4,5,6,7,8,9,10};for(i=0; i<=12; i++){arr[i] = 0;printf("hehe\n");}return 0;
}

当我们在上面要求的环境中运行时就会发现:

这个时候就要调试看看到底怎么回事?

其实调试到这里我们就可以发现这里是i的地址,当我们再按一次F10时,i 明明该为13了,但是 i 就被初始化为0了,所以才会进入死循环。

本质原因:

栈区内存中习惯是从高地址开始使用,因为先创建的是变量 i 的地址,所以 i 的地址比数组 arr 的地址高,而又因为数组在内存当中的存放是下标越大的,地址越高,也就是从低地址开始使用的,本来数组就越界了,所以有可能数组就会覆盖到 i ,所以进入死循环。而 i 和 arr刚好间隔两个整形的空间,这完全取决于环境,每次的变量在内存的分配都是由编译器指定的,所以演示这道题时规定了环境。

如果将 i 和 arr 初始化的顺序交换一下,就不会出现这种情况了

或者是改成 release 环境下,也不会出现死循环,这是因为 release 会自动地优化代码,但是会报错,因为数组越界了

8.变成常见的错误

8.1 编译型错误:

检查语法的错误——最简单的

8.2链接型错误:

声明自己写的同文件没有写对呀,等等~

8.3运行时错误

前面的两步都没有报错,但是运行的结果和自己预期的结果不一样,这个是最麻烦的,这个时候就要进行调试了

http://www.dtcms.com/wzjs/423883.html

相关文章:

  • 这是我自己做的网站网站友链查询接口
  • 蒙牛网站建设报价情况竞价排名的弊端
  • 广州免费拍卖公司seo就业前景
  • 做流量网站要做哪一种兰州seo推广
  • 电子购物网站开发公司seo关键词优化推荐
  • .net 接单网站有哪些网站自己推广
  • 多城市网站建设指数基金排名前十名
  • 陕西省建设厅网站月报自己在家怎么做电商
  • 自己电脑做服务器建网站关键词免费下载
  • 南京网站关键词谷歌seo博客
  • 做网站的怎样找客户托管竞价账户哪家好
  • 南宁网站建设王道下拉強seo公司
  • 宁波模板开发建站网站关键词优化软件
  • 七台河网站制作百度网址是多少 百度知道
  • 洛阳建站优化教程济南网站建设方案
  • 昆明营销型网站建设奉化云优化seo
  • dw做动态网站站点怎么免费推广软件平台
  • 桂林网站建设培训班山东网站seo
  • 做app原型的网站免费b站推广网站短视频
  • 自己买主机可以做网站吗市场营销策划方案书
  • 网站建设精准精细快速电脑优化系统的软件哪个好
  • dw自己做网站最新新闻事件摘抄
  • 做的网站老被攻击国外搜索引擎网站
  • 为什么要做网站建设谷歌搜索引擎入口2021
  • 门户网站开发一般多少钱灰色广告投放平台
  • 美国做礼品的网站免费的推广平台
  • 网站建设上传外链价格
  • 上海公安学院门户网站关键词优化排名的步骤
  • 用织梦做网站快吗windows优化大师手机版
  • 在东莞做网站营销技巧和营销方法培训