linux课件Linux第10讲幻灯片.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
动态调试举例 调试指定程序(./my_app) 问题: 期望的输出和实际输出不一致 (gdb) file ./my_app Reading symbols from ./my_app...done (gdb) run Starting program: /home/tom/shell_script/cpp/my_app/my_app Your Name,Please:tom Hello ! Program exited normally. (gdb) 加载调试程序 启动调试程序 程序输出 提示信息 动态调试举例 初次错误定位: 输出有错误 错误定位 重新开始一次调试; 启动gdb; 加载调试程序(./my_app); 查看程序源代码 命令: list 文件名 动态调试举例 (gdb) list my_app.c:1,20 1 #include stdio.h 2 #include greeting.h 3 #define N 10 4 int main(void) 5 { 6 char name[N]; 7 printf(Your Name,Please:); 8 scanf(%s,name); 9 greeting(name); 10 return 0; 11 } (gdb) break 7 BreakPoint 1 at 0x8048384: file my_app.c, line 7. 在程序第7行设置断点 命令: (gdb) break 7 查看源代码 设置断点 提示信息 动态调试举例 错误详细定位 1 (gdb) run 2 Starting program: /home/tom/shell_script/cpp/my_app/my_app 3 Breakpoint 1,main() at my_app.c:7 4 7 printf(Your Name,Please:); 5 (gdb) next 6 8 scanf(%s,name); 7 (gdb) next 8 Your Name,Please:tom 9 9 greeting(name); 启动调试程序 断点激活 步进下一步 动态调试举例 10 (gdb) print name 11 $1 = “tom\000ò·000?? 12 (gdb) step 13 greeting(name=0xbfffdf20 “tom”)at functions/greeting.c:5 14 5 printf(”Hello !\r\n”); 15 (gdb) step 16 Hello ! 17 6 } 18 (gdb) kill 19 Kill the programe being debugged?(y or n)y 20 (gdb) quit 错误详细定位 查看变量值 进入函数内部 步进执行 停止调试 退出gdb 动态调试举例 分析: 11行说明name变量被正确赋值(tom) 13行说明name变量值被正确赋予greeting的参数变量name 16说明打印出现了错误,即错误出现在函数greeting中; 综合分析 错误出现在greeting.c的第5行; 原因: 没有输出字符串的格式不对; 改正错误 动态调试举例 动态调试总结 主要错误类型: 算法错误; 输入错误; 定位方法: 设置断点; 单步步进执行; 查看变量取值变化; 反复执行,逐步缩小错误范围; 课后习题 1、从文本源代码到可执行文件,gcc可以对哪些步骤进行控制? 2、编一个简单的helloworld程序,利用gcc控制程序生成的四个步骤。 3、简述gcc的用法和常用参数的含义。 4、上机查找gcc利用的库文件和头文件都放在什么路径下? 5、make工具如何使用?Makefile的基本格式是什么? 6、简述gdb的用法和常用命令的含义。 主讲:邝颖杰 电邮:kuangyingjie@163.com 主要内容 gcc简介 功能 命令 利用gcc编译c程序 利用make工具简化编译过程 make简介 Makefile基本格式 调试 静态调试 动态调试 gdb调试工具的使用 gcc简介 名称: GNU project C and C++ Compiler GNU Compiler Collection 管理与维护 GNU项目 对C/C++编译的控制 预处理(Preprocessing) 编译(Compilation) 汇编(Assembly) 链接(Linking ) gcc的使用 基本使用格式 $ gcc [ 选项 ] 文件名 常用选项及含义 g

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档