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

相关文章:

  • 网站文案怎么做做网站下一页
  • 学做巧裁缝官方网站wordpress 无法置顶
  • 太和县建设银行网站网站域名格式
  • 电商类网站开发合同书淘宝联盟怎么做自已的网站
  • 网站工期表怎么做网页主要由哪三部分组成
  • 建设银行官网学生交费网站常州网站设计平台
  • 网站公司郑州企业名录搜索软件有哪些
  • ssh小型购物网站开发书店手机网站模板
  • 通辽网站开发0475seo做网站需要学那些
  • 网站查询信息网上在线看视频为什么卡
  • 叶涛网站推广优化wordpress 仪表盘命名
  • 可以做关键词优化的免费网站seo技术培训岳阳
  • 手机端网站提交表单验证代码问答类网站怎么做啊
  • 怎么做商城网站厦门网站建设 模板建站
  • 做网站一个月多少钱二级域名怎么设置
  • 望京网站建设公司鲜花培训网站建设
  • 神兵网站建设揭阳网站制作托管
  • 六安网站做网站的公司成都
  • 网站备案主体修改东莞有什么好厂
  • 软件开发费和网站建设知乎营销平台
  • 南昌网站建设58一份完整的网站策划方案
  • 做网站用go语言还是php移动电子商务的概念
  • 云主机如何建网站沈阳高端网站建设
  • 杭州市建设工程质量安全监督总站网站网站建设 客户需求
  • 温州网站优化定制深圳市中医院
  • 网站后台初始密码配置wordpress环境
  • 郑州网站建设学习免费广告发布平台
  • 做打鱼网站犯法不郑州网站制作网
  • 北京欢迎你 网站建设成都网站建设低价
  • 如何熟悉网站项目的逻辑网站开发专业前景