资料gdb调试简单教程_第1页
资料gdb调试简单教程_第2页
全文预览已结束

下载本文档

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

文档简介

1、 GDB断点调试简单教程在写程序开发的过程中,可避免的会出现很多bug,bug的类型也多种多样,可能是逻辑错误,也可能是内存泄,这个时候我们就需要 通过调试跟踪变的值或者其他信息,来找出错误的位置,再进修改,现在介绍两种常用的调试方法,断点调试以及输出调试,后面有 一个内存泄的检测小工具,有兴趣的同学可以自学一下。 GDB是GNU组织发布的,linux/Unix下的一个功能强大的开源调试工具,它集成较多的功能。是一个基于命的交互式调试工 具。有较多的命,下面介绍几个常用的调试命。 GDB常用调试参数GDB调试实调试程序test.cpp: #include /计算两个整数相加的和 int fun

2、c(int a, int b) return a + b;int main() int number1, number2, sum;printf(this is a gdb test programn); scanf(%d%d, &number1, &number2);sum = func(number1, number2); printf(%dn, sum);生成带有调试信息的可执文件gcc test.cpp -o test -g其中o ,g分别是gcc的编译选项,(gcc常用编译选项) o的作用是生成指定名字的文件(注意一定是可执文件) g的作用是生成调试信息,意思也就是将源代码程序加载到

3、可执文件中 调试过程1. 启动gdb,在终端命中输入gdb,即启动gdb调试器 gdb2. 加载可执文件 (gdb) file file_name3.执可执文件 (gdb) r4.设置断点 #使用号设置断点 (gdb) b line_number #使用函数名设置断点 (gdb) b function_name5.继续向下执(gdb) c命使用方能file (gdb)file test_execute_file加载可执文件,file一定是可执文件 r(gdb) rrun的简写,运可执文件;如果程序没有设置断点,则执完整个程 序,有设置断点,则程序暂停在第一个可用的断点 c(gdb) ccont

4、inue的缩写,继续执被调试的程序;直到下一个断点或者程序结 束 b(gdb) b line_number (gdb) b function_name (gdb) b*function_name (gdb) *function_adressbreakpoint简写,设置断点,可以根据号,函数名,执地址设置断点 的位置 d(gdb) d numberdelete简写,取消断点,可以取消所有的断点,也可以取消某一个特定的断点 (注意:断点的编号从1开始递增) s(gdb) sstep简写,逐执源代码,此中有被调用的函数,则进入函数 内。 n(gdb) nnext简写,逐执源代码,此中有被调用的程序,则这代码中函 数也一起执p(gdb) varible_nameprint简写,打印变当前的值。 bt(gdb) btbacktrace简写,获取程序执的上一代码,用于检查段错误的器 help(gdb) help查看帮助信息 6.下一步执#进入函数内部执(gdb)

温馨提示

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

评论

0/150

提交评论