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

wordpress源代码解析深圳纯手工seo

wordpress源代码解析,深圳纯手工seo,宜宾网站建设,学做网站看什么调试 前言一、Bug二、调试工具1.DeBug2.Release 三、调试快捷键1、断点 四、调试时查看程序的当前信息1、查看临时变量2、查看内存3、查看调用堆栈、汇编、寄存器 总结 前言 这篇文章大都是我的个人笔记: 调试在日常程序设计中是很重要的。调试说白了就是为了解决代…

调试

  • 前言
  • 一、Bug
  • 二、调试工具
    • 1.DeBug
    • 2.Release
  • 三、调试快捷键
    • 1、断点
  • 四、调试时查看程序的当前信息
    • 1、查看临时变量
    • 2、查看内存
    • 3、查看调用堆栈、汇编、寄存器
  • 总结


前言

这篇文章大都是我的个人笔记: 调试在日常程序设计中是很重要的。调试说白了就是为了解决代码的bug问题。但是如何学好调试,成为一名会解决问题的学习者呢?这篇文章我们就来探讨一下调试问题。


一、Bug

平常我们写完代码运行的时候,总会遇到一些出乎你意料的错误。比如,很经典的:

我写完代码啦->运行一下->为什么错误了呢?-这里改改,再运行一下->为什么又错误了呢?->再改改,再运行->这下可以了,但是为什么呢?

以上是不是你的真实写照呢?其实,这种调试的方法叫做迷信式调试,是一种不可取的调试方法,原因也很简单,因为你不知道代码具体哪里有问题,只能靠猜,而且大多数时候,你都不知道改完后正确的代码为什么是这样的。

二、调试工具

1.DeBug

Debug是被称为程序员版本,里面不做任何优化,可以方便程序员检查代码。
(按一下f10就会走一步,并且是一步一步来的)

2.Release

Release版本被称为发布版本,里面进行了各种优化。
(调试的时候就是一步到位)

三、调试快捷键

  1. F5 — — 启动调试,常用来直接跳到下一个断点处。常以F9配合使用
  2. F9 — —创建断点和取消断点。(后面我会说明断点点作用)
  3. F10 — —逐过程。通常用来处理一个过程。一个过程可以是一个函数调用,也可以是一条语句。(一步一步走)
  4. F11 — —逐语句。每次都执行一个语句,在遇到函数时会进入函数内部。(相对F10会更加细致)
  5. CTRL F5 — —执行但是不调试,也就是不经历调试而直接执行代码

以上就是常用的快捷键了

1、断点

断点大致意思就是让程序在指定的位置停下。
举个例子

int i = 0int arr[10] = {0};
for(i = 0; i < 10; i++){arr[i] = i;
}
for(i = 0; i < 10; i++){printf(%d”, arr[i]);
}

这里,我们在第二个for循环的地方按一下F9,就会产生一个断点。
正常情况下如果你调试,那么程序就会先进入到第一个循环,然后你按一下键盘他就执行一次。不过你知道第一个循环里的内容是没有问题的,你想去第二个循环的地方进行调试。但是程序要到第二个循环的话就需要先把第一个循环跑完,这就会很繁琐。
有了断点后,程序就会一次跑完断点之前所有的代码,在断点处停下,这样一来,你就可以继续进行你的调试了。

如果还没理解为什么这样的话,我就再举个例子:
现在假设你有5000行代码,你完全不知道代码哪里出了问题,你就得一次一次一行一行一直慢慢调试下去。这样下来,手都要先按断掉了。有了断点,你就可以在你所知道的没有问题的代码前设置断点,跳过这些代码。大大提高你的效率。

不过要注意的是,当出现两个断点时,并不是按一下F5就会跳到下一个断点处。按F5时,他会跳到一个**“逻辑断点”。**

意思是,如果断点假设在第一个循环中,并且我第二个循环的开始(不在循环体内)也设置了一个断点。那么第一次F5是进到第一个断点没错,但是我再按一次F5就不是跳到第二个断点了,而是在第一个循环中在来一次。

四、调试时查看程序的当前信息

1、查看临时变量

int a = 0;
int b = 100;
int c = 200;
printf(%d”, a);

如果你想看这些临时变量的值时,该怎么办呢?
在这里插入图片描述
注意:一定是在启动调试(F10)的时候才能打开
流程:窗口 -> 自动窗口
或:窗口 -> 局部变量
或:窗口 -> 监视 (常用)

在这里插入图片描述
这里:
名称这一栏是可以进行输入的,只要输入的合法就可以。
值会显示当前名称的状态
类型顾名思义就是变量的类型了

这里我来说明一下数组在传参时应该怎么查看数组里的内容
在这里插入图片描述

我想查看数组arr的成员,那么我只需要在监视窗口内的值这一栏输入arr,4就可以看到前四个值了。
解释一下,因为指针传递的是数组的首元素的地址,所以我输入arr就是查看arr数组的第一个值,同理,我想看四个我就输入arr,4 我想看10个我就输入arr,10。

2、查看内存

创建一个数组并赋予初值,我们可以查看该数组在内存中存放的位置

int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };

在这里插入图片描述

内存窗口比较复杂
首先,我们要把需要看的东西写在地址栏上。
然后这里会有三列,第一列表示地址,第二列表述数据,第三列表示编译器推测的数据信息。
先来看看第一行第二列的数据:
01 00 00 00
再来看看第一列的数据:
0x00 8F FB C8
这俩有什么关联呢?
01 是内存中存储的数据,对应的就是第一列C8的位置,这第一列表示地址,而又因为我们只显示4列。所以01 00 00 00这个数据对应的地址00 8F FB C8+4就是00 8F FB CC。而我们第二行第一列的数据00 8F FB CC末尾处正是CC。所以答案显而易见了,这就是一个连续的地址,数据是存储在连续的内存空间中的
画个图会更好理解:
在这里插入图片描述

1.栈区内存的使用习惯是先使用高地址处的空间,再使用低地址处的空间
2.而数组下标的增长地址是由低到高变化的。
所以这里,我们的数据 1 的地址往上+4个字节就是数据 2 的地址,再往上就以此类推。
当然这里还可以补充堆与栈的知识。但是这部分知识与调试无关,我会在下次的文章中详细讲解一下堆栈。

3、查看调用堆栈、汇编、寄存器

这部分用的较少,但是调试窗口是可以查看的
在这里插入图片描述

总结

这篇文章全然是我自己的笔记,但是也可以方便大家快速理解一些调试中的术语的解释。好啦,这篇文章先到这里,如果有补充我会重新编辑,那么,下篇文章见!

http://www.yidumall.com/news/40125.html

相关文章:

  • 网站关键词代码怎么做seo有哪些作用
  • 有做公司网站的吗网络广告投放平台
  • 中式建筑公司网站app开发平台开发
  • 达州建设机械网站百度指数网址是多少
  • 网站建设误区关键词站长工具
  • 知乎 拒绝 朋友 做网站在线建站平台免费建网站
  • 网站怎样做移动端电销名单渠道在哪里找
  • 直播网站开发费用网络广告策划与制作
  • 建筑招聘网站哪个好公司做网络推广怎么做
  • 武鸣网站建设网络推广方案的内容
  • 我做的网页怎么是危险网站外链提交
  • seo网站模板外贸网站制作推广
  • 咸阳兼职做网站东莞网站开发公司
  • 网站在线建设如何广告推广
  • 电子商务网站建设评价博客程序seo
  • 北京建筑公司排名深圳优化公司义高粱seo
  • 佛山企业网站设计制作百度的网址是什么呢
  • 江西建设厅网站官网惠州seo网站管理
  • 泰安 网站建设公司优化是什么梗
  • 织梦网站如何做伪静态seo是广告投放吗
  • 杨凌开发建设局网站营销网站定制公司
  • 可以做日语翻译的兼职网站世界搜索引擎大全
  • 站长做旅游网站娄底seo
  • 网站建设模拟实验报告百度竞价排名怎么收费
  • 做律师网站公司aso搜索优化
  • 武汉网站策划百度指数分析案例
  • 做网站策划遇到的问题百度营销客户端
  • 精品课程网站建设开题报告美工培训
  • 破解网站后台密码有人做吗关键词优化是怎么弄的
  • 北京新鸿儒做的网站深圳优化公司排名