Linux下编程工具的使用(5) - GDB调试工具(2)
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-30
查看运行时数据
七、设置显示选项 GDB中关于显示的选项比较多,这里我只例举大多数常用的选项. set print address,set print address on 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址. 系统默认为打开的,如: (gdb) f #0 set_quotes (lq=0x34c78 "<<", rq=0x34c88 ">>") at input.c:530 530 if (lquote != def_lquote) set print address off 关闭函数的参数地址显示,如: (gdb) set print addr off (gdb) f #0 set_quotes (lq="<<", rq=">>") at input.c:530 530 if (lquote != def_lquote) show print address 查看当前地址显示选项是否打开. set print array,set print array on 打开数组显示,打开后当数组显示时,每个元素占一行,如果不打开的话,每个元素则以逗号分隔.这个选项默认是关闭的.与之相关的两个命令是:set print array off,show print array set print elements <number-of-elements> 这个选项主要是设置数组的,如果你的数组太大了,那么就可以指定一个<number-of-elements>来指定数据显示的最大长度,当到达这个长度时,GDB不再往下显示.如果设置为0,则表示不限制. show print elements 查看print elements的选项信息. set print null-stop <on/off> 如果打开了这个选项,那么当显示字符串时,遇到结束符则停止显示.这个选项默认为off. set print pretty on 如果打开printf pretty这个选项,那么当GDB显示结构体时会比较漂亮.如:
$1 = { next = 0x0, flags = { sweet = 1, sour = 1 }, meat = 0x54 "Pork" } set print pretty off 关闭printf pretty这个选项,GDB显示结构体时会如下显示: $1 = {next = 0x0, flags = {sweet = 1, sour = 1}, meat = 0x54 "Pork"} show print pretty 查看GDB是如何显示结构体的. set print sevenbit-strings <on/off> 设置字符是否按“nnn”的格式显示,打开则字符串或字符数组按nnn显示,如“65”. show print sevenbit-strings 查看字符显示开关是否打开. set print union <on/off> 设置显示结构体时,是否显式其内的联合体数据.例如有以下数据结构: typedef enum {Tree, Bug} Species; typedef enum {Big_tree, Acorn, Seedling} Tree_forms; typedef enum {Caterpillar, Cocoon, Butterfly} Bug_forms; struct thing { Species it; union { Tree_forms tree; Bug_forms bug; } form; }; struct thing foo = {Tree, {Acorn}}; 当打开这个开关时,执行 p foo 命令后,会如下显示: $1 = {it = Tree, form = {tree = Acorn, bug = Cocoon}} 当关闭这个开关时,执行 p foo 命令后,会如下显示: $1 = {it = Tree, form = {...}} show print union 查看联合体数据的显示方式 set print object <on/off> 在C 中,如果一个对象指针指向其派生类,如果打开这个选项,GDB会自动按照虚方法调用的规则显示输出,如果关闭这个选项的话,GDB就不管虚函数表了.这个选项默认是off.
show print object |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 憋曲的面试失败经历下一篇: linux培训课程第七天:ppt以及笔记
关于Linux下编程工具的使用(5) - GDB调试工具(2)的所有评论