b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

gdb 条件断点_gdb watch_gdb 条件断点 内存(14)

电脑杂谈  发布时间:2017-04-10 23:05:12  来源:网络整理

查看字符显示开关是否打开。

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

查看对象选项的设置。

set print static-members <on/off>

这个选项表示,当显示一个C对象中的内容是,是否显示其中的静态数据成员。默认是on。

show print static-members

查看静态数据成员选项设置。

set print vtbl <on/off>

当此选项打开时,GDB将用比较规整的式来显示虚函数表时。其默认是关闭的。

show print vtbl

查看虚函数显示式的选项。

八、历史记录

当你用GDB的print查看程序运行时的数据时,你每一个print都会被GDB记录下来。GDB会以$1, $2, $3 .....这样的方式为你每一个print命令编上号。于是,你可以使用这个编号访问以前的表达式,如$1。这个功能所带来的好处是,如果你先前输入了一个比较长的表达式,如果你还想查看这个表达式的,你可以使用历史记录来访问,省去了重复输入。

九、GDB环境变量

你可以在GDB的调试环境中定义自己的变量,用来保存一些调试程序中的运行数据。要定义一个GDB的变量很简单只需。使用GDB的set命令。GDB的环境变量和UNIX一样,也是以$起头。如:

set $foo = *object_ptr

使用环境变量时,GDB会在你第一次使用时创建这个变量,而在以后的使用中,则直接对其賦。环境变量没有类型,你可以给环境变量定义任一的类型。包括结构体和数组。

show convenience

该命令查看当前所设置的所有的环境变量。

这是一个比较强大的功能,环境变量和程序变量的交互使用,将使得程序调试更为灵活便捷。例如:

set $i = 0

print bar[$i]->contents

于是,当你就不必,print bar[0]->contents, print bar[1]->contents地输入命令了。输入这样的命令后,只用敲回车,重复执行上一条语句,环境变量会自动累加,从而完成逐个输出的功能。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-40593-14.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 阪本奖悟
      阪本奖悟

      孤芳自赏没有什么用

    热点图片
    拼命载入中...