下载此文档

GDB调试精粹及使用实例.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
GDB 调试精粹及使用实例(转) 一:列文件清单 1. List (gdb) list line1,line2 二:执行程序要想运行准备调试的程序,可使用 run 命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<和>) 和外壳通配符( *、?、[、] )在内。如果你使用不带参数的 run 命令, gdb 就再次使用你给予前一条 run 命令的参数,这是很有用的。利用 set args 命令就可以修改发送给程序的参数, 而使用 show args 命令就可以查看其缺省参数的列表。( gdb ) set args –b–x (gdb) show args backtrace 命令为堆栈提供向后跟踪功能。 Backtrace 命令产生一张列表,包含着从最近的过程开始的所以有效过程和调用这些过程的参数。三:显示数据利用 print 命令可以检查各个变量的值。(gdb) print p (p 为变量名) whatis 命令可以显示某个变量的类型(gdb) whatis p type = int* print 是 gdb 的一个功能很强的命令,利用它可以显示被调试的语言中任何有效的表达式。表达式除了包含你程序中的变量外,还可以包含以下内容: l 对程序中函数的调用(gdb) print find_entry(1,0) l 数据结构和其他复杂对象(gdb) print *table_start $8={e=reference= ’\000 ’,location=0x0,next=0x0} l 值的历史成分(gdb)print $1 ($1 为历史记录变量, 在以后可以直接引用$1 的值) l 人为数组人为数组提供了一种去显示存储器块( 数组节或动态分配的存储区) 内容的方法。早期的调试程序没有很好的方法将任意的指针换成一个数组。就像对待参数一样, 让我们查看内存中在变量 h 后面的 10 个整数,一个动态数组的语法如下所示: ******@length 因此,要想显示在 h 后面的 10 个元素,可以使用 ******@10 : (gdb)print ******@10 $13=(-1,345,23,-234,0,0,0,98,345,10) 四:断点(breakpoint) break 命令(可以简写为 b )可以用来在调试的程序中设置断点,该命令有如下四种形式: l break line-number 使程序恰好在执行给定行之前停止。 l break function-name 使程序恰好在进入指定的函数之前停止。 l break line-or-function if condition 如果 condition (条件)是真,程序到达指定行或函数时停止。 l break routine-name 在指定例程的入口处设置断点如果该程序是由很多原文件构成的, 你可以在各个原文件中设置断点, 而不是在当前的原文件中设置断点,其方法如下: (gdb) break filename:line-number (gdb) break filename:function-name 要想设置一个条件断点,可以利用 break if 命令,如下所示: (gdb) break line-or-function if expr 例: (gdb) break 46 if tes

GDB调试精粹及使用实例 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxj16588
  • 文件大小0 KB
  • 时间2016-06-05