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

信息技术网站建设专业温州网站建设价格技术

信息技术网站建设专业,温州网站建设价格技术,临海响应式网站设计,东营造价信息网调试复习 调试可谓是 “贯穿” 了程序员的一生#xff0c;调试的重要性#xff0c;就不再赘述啦#xff01;如果你还不知道什么是调试#xff0c;可以看看 Windows 系统的 Visual Studio 是如何调试的#xff1a;➡️ visual stuudio 使用调试技巧 下载调试软件 gdb yu…调试复习 调试可谓是 “贯穿” 了程序员的一生调试的重要性就不再赘述啦如果你还不知道什么是调试可以看看 Windows 系统的 Visual Studio 是如何调试的➡️ visual stuudio 使用调试技巧 下载调试软件 gdb yum install gdb -ygdb 的使用 gdb 的使用非常简单 gdb 可执行文件这是一段简单的代码 #includestdio.hint main() {printf(hello gdb\n);return 0; }这是 makefile 文件 test:test.cgcc -o $ $^ -stdc99 .PHONY:clean clean:rm -f testmake 生成可执行文件之后我们来看看是否能够启动 gdb 调试 我们看到出现了报错可执行文件中没有调试信息。这是因为 linux 环境下 gcc 形成的可执行程序默认是以 release 的形式发布的release 版本的可执行程序当然不包含调试信息啦 于是我们需要以 debug 的方式发布可执行程序只需要加一个 -g 的选项就可以啦 # 这是 makefile 文件 test:test.cgcc -o $ $^ -g -stdc99 .PHONY:clean clean:rm -f test那么如何看到可执行程序中是否有调试信息呢我们都知道 linux 环境下的可执行程序是一种 elf 格式的文件我们只要打开这个 elf 格式的文件就能看到啦 readelf -S 可执行程序我们可以看到 debug 方式发布的可执行程序确实多了调式信息。(文件比较长下图中只截取了一部分) 调试前的准备 我们来写一个简单的程序作为调试之前的准备工作吧 test.c #includestdio.h #include function.hint multiple(int x, int y) {int ret x * y;return ret; } int main() {int a 2, b 3;int sum 0;sum Add(a, b);printf(a b: %d\n, sum);int times multiple(a, b);for(int i 0; i times; i){printf(hello gdb %d\n, i);}return 0; }function.h #pragma onceint Add(int x, int y);function.c #include function.hint Add(int x, int y) {return x y; }调试命令一览 gdb 可执行程序 #开始调试 quit/q #退出调试 l 数字 #显示代码默认是 10 行 r #运行程序 b 行号 #在main函数所在文件的指定行打断点 b 文件名:行号 #在指定文件的指定行号打断点 b 函数名 #在指定函数的第一行代码处打断点 info b #查看所有断点信息 d 断点编号 #删除断点# r 开始调试之后n #逐过程运行 s #逐语句执行 p 变量 #查看变量的值 display 变量 #变量值常显示类似于 visual studio 的监视窗口 undisplay 变量 #取消变量的长显示 untill 行号 #在函数内跳转到指定行 finish #执行完当前行所在的函数 c #运行到下一个断点处 disable 断点编号 #禁用指定断点 enable 断点编号 #恢复禁用的断点 set var 变量值 #类比 visual studio 中的条件断点 bt #查看调用堆栈 info locals #查看本地变量(局部变量)下面我会选择几个比较不好理解的讲讲 l 数字 l 默认显示 10 行gdb 会记住上一条命令回车就可以继续执行上一条命令。 b 文件名:行号 这个命令在多文件的调试中可能会用到 d 断点编号 断点编号是什么呢查看断点编号需要使用 info b 命令 其中这个 Num 就是断点编号啦 可以看到删除断点之后就查看不到断点的信息啦 删除刚刚的断点之后我们再打一个断点发现断点编号并不是 1说明断点编号是递增的 display 变量 可以动态显示一个变量的内容类似于监视窗口。 我们使用 r 运行程序开始调试。display num 看到sum 0 没问题然后 n 逐过程运行。发现 sum 变成了 5。这就相当于监视窗口不是嘛 finish 执行完当前行所在的函数这是什么意思呢我们在第六 6 行打一个断点看看效果就知道了 效果就是直接完成了当前行所在函数的运行 disable 断点编号 这个命令可以禁用断点visual studio 也是可以的 禁用 1 号断点之后我们查看断点信息发现 Enb 属性变成了 n。这就表示这个断点被禁用了 set var 变量值 我们在 19 行打一个断点然后运行程序开始调试再然后 set var i3 运行之后我们发现打印的就是 hello gdb 3 这是不是和 visual studio 中的条件断点一个味儿
http://www.yutouwan.com/news/371014/

相关文章:

  • 南宁建站官网做网站 需要了解什么
  • asp网站开发环境搭建钟星建设集团网站
  • 网站建设推广方案书云南哪有网站建设推广
  • 做博客网站需要工具吗销售渠道都有哪些
  • 百度竞价托管代运营郑州做优化的公司有哪些
  • 小熊代刷推广网站品牌营销策划英文
  • 互动科技网站建设关键词挖掘排名
  • 北京网站优化公司官网设计公司有哪些
  • 谁有做那事的网站加盟网络营销推广公司
  • 自学考试 网页制作与网站建设06627安阳空气
  • 网站开发询价表模板下载企业管理咨询公司宗旨
  • 手机网站建设注册塔山双喜wordpress分类目录多级菜单
  • 网站域名不备案要证书有啥用安徽建设工程信息网技术服务电话
  • 界面好看的网站珠海专业制作网站
  • 海外建站流程seo关键词教程
  • 移动网站有哪些软件设计师是干什么的
  • 电商网站运营怎么做小程序开发平台的设计是实现
  • 网站 自助建站品牌营销策划案例ppt
  • 网站页面布局用什么做荆州网站建设推荐
  • 网站建设管理后台导航栏建设网站需要哪些东西
  • 判断网站做的好坏宁波网站搭建公司定制
  • 广告视频网站市场营销策略包括哪些策略
  • 网站开发 平台建设宁乡市建设局网站
  • p2p网站的建设山东省职业能力建设处网站
  • 旅行用品东莞网站建设微信网站开发语言
  • 合肥手机网站制作建设呼和浩特公司做网站
  • iis做网站广东手机网站制作价格
  • 做网站练手餐饮行业网站建设风格
  • wordpress多站点可视化广州乐地网站建设
  • 凡科免费网站建设网站项目怎么做计划