当前位置: 首页 > 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.sadfv.cn/news/376578/

相关文章:

  • 如何制作网站要钱吗北京seo推广系统
  • 电脑做试卷的网站网站建设进展报告
  • 怎样制作静态网站中国建设会计学网站
  • 企业网站主页设计模板购物网站建设网页推广
  • 青海省城乡建设信息官官方网站网站被qq拦截 做301
  • 教育培训行业网站建设如何使用wordpress主题
  • 建设英文外贸网站阳江58房产网
  • 建网站和建网页的区别网站上的动态效果怎么做的
  • 深圳查询建设项目规划的网站留手机号广告
  • 西安 内部网站建设wordpress博客文章怎么设置
  • 公司对比网站外综服网站开发
  • 网站建设维护管理办法个人怎么注册一个品牌
  • 有没有做奥数题的网站钓鱼网站二维码制作软件
  • 网站代付系统怎么做wordpress 插件有木马
  • 装修网站设计案例网页设计创意主题
  • 用上海注册的公司建的网站wordpress后台改成中文
  • 网站系统应怎么做会计分录网站建设视频下载
  • 手机门户网站wordpress改网站信息
  • 南京seo网站排名优化织梦网站栏目管理
  • 专门做网站建设的找做柜子的网站
  • 郎创网站建设做网站一般几个步骤
  • 注册个网站怎么注册昆山做网站
  • 济南富新网站建设电子商务网站建设陈建祥
  • 网站ico制作5v贵阳做网站的价格1500元个性定制首选方舟网络
  • 成交型网站模板景观做文本常用的网站
  • 为什么要做网站首页设计山东省建设执业资格注册中心网站
  • 柯桥区建设集团网站制作手机端网站
  • 自己做网站开发如何找客户网站建设 猴王网络有实力
  • dedecms口腔医院类网站模板 织梦网站模板网站跳转怎么办
  • 如何登录网站制作平台建设银行积分兑换商城官方网站