Linux常用工具速查实用手册第7章-常用调试工具.ppt_第1页
Linux常用工具速查实用手册第7章-常用调试工具.ppt_第2页
Linux常用工具速查实用手册第7章-常用调试工具.ppt_第3页
Linux常用工具速查实用手册第7章-常用调试工具.ppt_第4页
Linux常用工具速查实用手册第7章-常用调试工具.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第七章 常用调试工具,本章内容及目的: 了解GDB调试器的主要功能 掌握GDB命令的格式及其工作流程 重点掌握GDB调试器的各种命令,如断点设置类、数据查看类、文件查看类、程序执行类命令 重点掌握GDB调试器的高级命令,如条件测试命令、shell通信命令以及GDB设置命令等 了解内存调试工具memwatch、mtrace以及yamd的工作流程,GDB调试器 GDB的功能 GDB调试工具的功能如下所示: 1)可以在程序运行过程中的查看运行的状态 2)让被调试的程序在指定的断点处暂停 3)当程序被暂停时,用户可以查看程序中各表达式和变量值 4)程序暂停后可进行单步调试,用户通过它可以检查此后每步的

2、结果是否跟预测一致,并且可以检查每步出现的错误。 5)用户可以改变程序中的变量或者执行顺序来验证程序是否正确。,GDB的使用方法非常简单,在命令行下其使用格式如下所示: gdb options file 此格式表示使用gdb调试工具对可执行文件file进行“options”调试,GDB的工作流程 1)查看源文件内容 2)设置及查阅断点 3)运行程序代码 4)查看变量值 5)单步运行 6)继续执行 7)退出程序,GDB调试器的命令 GDB的命令行如同shell程序一样采用交互式调试界面,用户进入gdb之后就可以通过各种命令对程序进行调试。 GDB的命令按照功能主要分可划分为如下大类: break

3、points:断点设置类 data:数据查看类 files:指定并查看文件类 internals:维护命令类 running:程序执行类 stack:调用栈查看类 statu:状态查看类 tracepoints:跟踪程序执行类 每类命令下又分为若干子命令。,断点设置类,数据查看类,文件查看类,程序执行类,GDB高级使用 GDB提供许多高级的使用方法,重要的使用方法: 条件测试功能 shell通信功能 窗口观察功能 设置显示选项 1)设置参数地址信息 2)设置语言 3)设置数组,条件测试功能 GDB提供条件测试的功能,即在某些条件下触发断点或者启动某些任务,其格式如下: break 行号或函数

4、if condition 该格式表示如果condition(条件)是真,程序到达指定行或函数时停止,并在指定行和函数上设置断点。 shell通信功能 当运行一个调试程序时,经常需要在shell命令行下执行命令,因此,GDB同样提供与shell通信的机制,这样就可以使用户不用离开gdb就可以直接执行shell程序,它的语法格式如下: (gdb) shell Command是用户要执行的shell命令 窗口观察功能 当用户调试一个很大的程序,并且在跟踪一个关键的变量时,发现这个变量不知在哪里被改动过,如何才能找到改动它的地方,这时用户就可以使用watch命令,设置参数地址信息 Gdb中有支持是否显示参数地址信息的功能,用户可以设置其打开或者关闭,设置的格式如下: set print address on/off 要设置显示地址信息则使用on,若要求不显示地址信息则使用off 设置语言 Gdb支持许多语言,例如C、C+、Fortran、Java以及汇编等等,一般而言gdb会根据所调试程序来确定所使用的调试语言 设置语言的格式如下: set language Option 如果set lauguage命令后面的option什么也不写,那么gdn将显示所支持的所有语言种类。,GDB调试器综合使用实例 以gdbtest为例,在gdb命令行下完成以下操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论