第六章UNIX系统编程基础试卷.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用automake和autoconf产生makefile 具体步骤 autoscan 产生一个configure.in的模板,执行 autoscan 后会产生一个configure.scan 的文件,可以用它做为configure.in文件的模板: 编辑configure.scan文件,如下所示,并且把文件名改成configure.in 执行aclocal和autoconf,分别会产生 aclocal.m4 及 configure 两个文件: 编辑Makefile.am文件,内容如下: 执行automake --add-missing,Automake 会根据 Makefile.am产生一些文件,包含最重要的Makefile.in: 使用automake和autoconf产生makefile 最后执行 ./configure : 现在你的目录下已经产生了一个Makefile文件,执行make命令就可以开始编译hello.c 成执行文件,最后执行./hello: # make gcc -DPACKAGE=hello -DVERSION=1.0 -I. -I. -g -O2 -c hello.c gcc -g -O2 -o hello hello.o # ./hello Hello! GNU! 6.3.3 GDB :Linux调试工具 Linux系统中包含了GNU 调试程序gdb,它是一个用来调试C和 C++ 程序的调试器。可以使程序开发者在程序运行时观察程序的内部结构和内存的使用情况。gdb所提供的一些功能如下所示: 运行程序,设置所有的能影响程序运行的参数和环境; 控制程序在指定的条件下停止运行; 当程序停止时,可以检查程序的状态; 修改程序的错误,并重新运行程序; 动态监视程序中变量的值; 可以单步执行代码,观察程序的运行状态。 GDB调试说明 gdb程序调试的对象是可执行文件,而不是程序的源代码文件。 如果要让产生的可执行文件可以用来调试,需在执行gcc指令编译程序时,加上-g参数,指定程序在编译时包含调试信息。 调试信息包含程序里的每个变量的类型和在可执行文件里的地址映射以及源代码的行号。gdb 利用这些信息使源代码和机器码相关联。 可在 makefile 中如下定义 CFLAGS 变量: CFLAGS = -g [root@stu1 no10]# gcc -g hello_error.c -o hello_error [root@stu1 no10]# gdb GDB的帮助 在 gdb 提示符处键入help,将列出命令的分类,键入 help 后跟命令的分类名,可获得该类命令的详细清单。 如果想要了解某个具体命令(比如break)的帮助信息,在gdb提 示符下输入下面的命令:help break break的作用是设置断点 aliases:命令别名 breakpoints:断点定义 data:数据查看 iles:指定并查看文件 internals:维护命令 running:程序执行 stack:调用栈查看 statu:状态查看 tracepoints:跟踪程序执行。 另一个获得gdb帮助的方法是浏览gdb的手册页。 # man gdb GDB的常用命令 gdb的基本命令 gdb filename 其中filename是要调试的可执行文件。用这种方式运行gdb可以直接指定想要调试的程序。这和启动gdb后执行file filename命令效果完全一样。 gdb支持很多的命令且能实现不同的功能。这些命令从简单的文件装入到允许你检查所调用的堆栈内容的复杂命令,下面列出了在使用gdb 调试时会用到的一些命令。 file命令:装入想要调试的可执行文件 cd命令:改变工作目录 gdb 常用命令 pwd命令:打印当前工作日录。 run命令:执行当前被调试的程序。 list命令:列出正在调试的应用程序的源代码。 break命令:设置断点。 kill命令:停止正在调试的应用程序。 tbreak命令;设置临时断点。它的语法与break相同。区别在于用tbreak设置的断点执行一次之后立即消失。 watch命令:设置监视点,监视表达式的变化。 continue命令: 继续正在执行调试的程序。该命令用在程序由于处理信号或断点而导致停止运行的情况。 gdb 常用命令 awatch命令:设置读写监视点。当要监视的表达式被读或写时将应用程序挂起。它的语法与watch命令相同。 rwatch命令:设置读监视点,当监视表达式被读时将程序挂起,等侍调试。此命令的语法与watch相同。 next命令:执行下一条源代码,但是不进入函数内部。也就是说,将一条函数调用作为一条语句执行。执行这个命令的前提是已经run,开始了代码的执行

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档