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

做智能网站系统网站升级页面连接设置

做智能网站系统,网站升级页面连接设置,建设人员变更是哪个网站,链爱生态怎么交易前言 我们已经学习了linux下许多的工具#xff0c;vim、gcc、make/makefile等#xff1b; 已经能够在linux写代码#xff0c;并且进行编译运行#xff0c;让程序在linux下跑起来。 但是#xff0c;如果我们在写代码的时候遇见了错误#xff1b;但是我们并不知道错误在哪vim、gcc、make/makefile等 已经能够在linux写代码并且进行编译运行让程序在linux下跑起来。 但是如果我们在写代码的时候遇见了错误但是我们并不知道错误在哪在windows下我们可以进行调试来查找代码错误的位置进行修改我们在linux就只能查看源代码直接查找错误这样很麻烦 现在就来学习linux如何调试程序。 调试程序 ——gdb/cgdb Debug/Release模式 在之前学习C语言时听说过Debug和Release只知道Debug时用来调试的程序员写代码的版本而Release是发布版本。 现在我们来看一下这两个模式有什么区别 首先的区别就是Debug会生成程序的调试信息而Release不会生成程序的调试信息。 因为Debug模式会生成调试信息所以Debug模式的程序就要比Release模式的程序大小要大。 我们如何验证呢 linux中 gcc编译默认生成的是Release版本我们要生成Debug模式就要带-g选项。 现在有这样一段代码test.c文件 #includestdio.h int func(int n) {int ret 0;for (int i 1; i n; i){ret i;}return n; } int main() {int n 100;int sum func(n);printf(sum %d\n, sum);return 0; }我们在linux下进行编译 这里有这样的提示那是因为C98不支持在for循环中定义变量要使用C99上面也有提示。 所以我们就要这样来编译 gcc test.c -o test -stc99这里写成makefile方便操作。 这样生成的是Release模式的程序我们查看它文件属性 现在我们使用-g选项生成Debug模式的程序 可以看到Debug模式的要比Release模式的程序要大一些。 gdb/cgdb的使用 这里只有Debug模式的程序才能被调试Release模式下不能被调试因为缺少调试信息。 在使用之前可能需要进行安装 yum -install -y gdb yum -install -y cgdb1. 进入调试 gdb 可执行程序这里无论是gdb还是cgdb都是可执行程序对可执行程序进行调试。 可以看到这样就进入gdb调试了但是gdb调试现在看不到我们的源代码。 2. 退出调试 quit现在来看一下cgdb调试的界面 cgdb test这样的界面看起来要比gdb好用一些所以这里就以cgdb为例来学习调试 cgdb中屏幕上半部分可以看到一部分代码其中绿色箭头指向的地方就是当前程序运行的位置。 退出调试仍然是quit 3. 查看代码 查看代码l后可以什么的不跟也可以跟行号或者函数名 l 查看源代码从上次位置开始依次显示10行代码l 文件名:行号 列出指定文件的源代码l 函数名 列出指定函数的源代码 l 文件名:行号 l:函数名 这里列出的可能有一些差别。 4. 运行代码 我们进入调试但是代码并没有运行起来在windows下我们之间F5就让代码运行起来了而cgdb中r命令可以让代码运行起来 r/run执行代码 逐步执行 有了断点我们在r时程序就会停止在断点处那我们该如何一行一行执行代码呢 在windows下我们是按F10和F11来依次执行代码 在linux中cgdb我们使用n/next和s/step来依次执行代码 n/next相当于F10一行一行执行代码 在遇到函数时不进入函数内部 s/step就相当于F11一行一行执行代码 在遇到函数时进入函数内部 这里就不演示了。 执行到某处 在我们调试程序时程序现在停止在一个断点处我们不想一行一行执行代码而是想要让程序直接运行到下一个代码 只需要指向c/contine即可 c/continue r 重新执行 如果现在程序正在执行我们想要让程序重新执行只需要r即可 这是会询问我们是否重新执行y即可 finish 执行到当前函数结束然后停止 until 执行到某一行 until 行号 程序执行到某一行然后停止。 现在执行until 11让程序执行到11行。 5. 断点 增加/删除断点 我们指向run/r后发现代码直接就执行结束了但是在我们调试的时候我们并不希望代码执行运行结束我们需要通过断点让代码在指定位置停下来 在windows下我们通过快捷键F9或者鼠标点击来打断点和去掉断点 在cgdb中我们通过命令**b/break**来打断点通过delete/d来取消断点。 b打断点 b 行号在指定行打断点b 函数名在函数开头打断点 可以看到我们打断点之后并看不到任何断点信息那如果我们想要看到已经存在的断点可以使用命令info b来查看 info b查看所有断点信息 d删除断点 我们打断点可以通过行号但是删除断点我们就不能使用行号了而是使用Num 断点编号。 这里还要注意一个点断点编号时不断递增的不会随着我们删除断点而减小 什么意思呢就是现在存在两个断点我们删除了其中一个断点然后再次创建了一个断点它的编号就是3而不是2。 这样有了断点我们在执行r时就程序就会停止在断点处。 这里看一下上半代码部分可以看到程序停在了15行并且断点位置的行号颜色为红色。 启用/禁用断点 当我们在调试程序时我们增加的断点并不一定所有的都能用的到有一些断点我们不想让它在这次调试中起作用这时就可以禁用这个断点 看到这里可能有疑惑为什么不直接删除呢 如果代码非常的多删除了之后接下来调试要用到又要重新去找非常浪费时间。 启用断点 enable 断点编号禁用断点 disable 断点编号这里断点默认是启用状态的。 那现在执行一下看是否真的禁用了呢 可以看到第一个断点并未触发而是直接触发第二个断点。 6. 监视 在windows下我们通过监视窗口来查看一个变量的值 而在linux的cgdb中我们也可以通过指令来查看变量的值。 监视变量 p p 用来查看一个变量当前的值 但是这样我们在此执行代码会发现执行过后就不在显示了 这样我们每次查看就要去输入指令p 变量名这样好麻烦我们想要每一次执行过后它都会显示出来变量的值 display用来跟踪显示变量的值。 display 如上图所示我们每一次执行代码变量的值都会显示出来。 监视函数栈帧内局部变量 如果我们不是想要查看某一个变量而是查看当前函数内所有的局部变量 我们就要用到info/i locals 可以看到func中所有的局部变量都显示出来了。 查看当前函数调用栈帧 如果我们想要查看当前的函数调用栈帧直接使用bt/backtrace即可。 cgdb常用小技巧 1. watch watch用来监视一个变量的值是否发生变化发生变化时会提示。 我们使用info b查看断点中也可以看到watch监视的变量。 2. set war set war在调试过程中修改变量的值。 可以看到我们在调试过程中使用set var就可以修改一个变量的值。 3. 条件断点 添加条件断点 b 行号 if 条件如上图所示新添加的条件断点当i10时触发。 可以看到程序在i0时断点触发停止在第九行。 给已存在断点增加条件 当我们需要给已经存在的断点增加条件时我们需要指令 condition 断点编号 条件到这里本篇内容就结束了希望对你有所帮助。 制作不易感谢大佬的支持。 我的博客即将同步至腾讯云开发者社区邀请大家一同入驻https://cloud.tencent.com/developer/support-plan?invite_code2oul0hvapjsws
http://www.hkea.cn/news/14434618/

相关文章:

  • 可以在手机建网站的网络推广内容策划
  • wordpress主机xampp邯郸seo快速排名
  • 网站结构怎么做适合优化礼品网站模板
  • 长春哪家做网站做的好论坛申请网站备案前置审批
  • 用户体验 网站网站内容建设项目预算
  • 白云区网站建设公南昌互联网公司排名
  • 网站收录很慢网站建设客户问到的问题
  • 360地图怎么添加地址网站诊断分析报告模板及优化执行方案.doc
  • asp公司网站源码网站cname解析
  • 如何在网站上做免费广告沧浪企业建设网站价格
  • 网站开发人员职位晋升空间成都高薪seo
  • 网站怎么做dns解析高端大气公司名称
  • 电子商务网站会员体系配置外网访问WordPress
  • 968深圳网站建设公司网站建设最重要的是什么
  • 工作室建设方案怎么写网站优化个人工作室
  • 设计网站会员哪个好用镇江微淘软件开发
  • 很色h做游戏网站海南省住房公积金管理局招聘
  • 网站模板的修改网站优化能发外链的gvm网站大全
  • 未来网站开发需求多wordpress修改登录图标
  • 大庆哈尔滨网站建设机关门花网站建设
  • 用python做网站的多吗体验式营销案例
  • 秦皇岛网站开发公司电话了解什么是网络营销
  • 长治网站seo电子商务网站流程设计
  • 个人做网站手机获取验证码前端开发和网站建设
  • 网站安全设计flash网站设计师
  • 上海网站快速备案wordpress自动增加阅读数代码
  • 网站设计工资一般多少蓬安网站建设
  • 网站客户端怎么做的网站建设专业网站设计公司物格网
  • 手机网站域名哪里注册时间所见即所得网页编辑器
  • 网站换了域名做跳转软件开发工具属于