控制对硬件计数器溢出分析数据的收集。如果您尝试在不支持硬件计数器溢出分析的系统中启用它,则 dbx 会返回一条警告消息,而且该命令将被忽略。option 的允许值包括:
on-打开硬件计数器溢出分析。缺省操作是收集具有正常溢出值的 cycles 计数器的数据。
off-关闭硬件计数器溢出分析。
list-返回可用计数器的列表。有关对该列表的描述,请参见硬件计数器列表。如果系统不支持硬件计数器溢出分析,则 dbx 会返回一条警告消息。
counter counter_definition... [, counter_definition]-计数器定义可以采用下列形式之一,具体取决于处理器是否支持硬件计数器的属性。
[+] counter_name[/ register_number][,interval ]
[+]counter_name[~ attribute_1=value_1]...[~attribute_n =value_n][/ register_number][,interval ]
选择硬件计数器 name,并将其溢出值设置为 interval;也可以选择其他硬件计数器名称并将其溢出值设置为指定的间隔。溢出值可以为下列值之一:
on 或空字符串-缺省溢出值,可以通过键入不带参数的 collect 来确定。
hi[gh]-所选计数器的高精度值,大约比缺省溢出值短十倍。之所以还支持缩写 h,是为了与以前的软件发行版兼容。
lo[w]-所选计数器的低精度值,大约比缺省溢出值长十倍。
interval-特定的溢出值,必须是正整数,可以采用十进制格式,也可以采用十六进制格式。
如果指定了多个计数器,则它们必须使用不同的寄存器。否则,将列显一条警告消息,而且该命令将被忽略。
如果硬件计数器对其计数的事件与内存访问有关,则可以在计数器名称前放置 + 符号,以便对导致计数器溢出的指令的真实 PC 进行搜索。如果搜索成功,则 PC 和所引用的有效地址将被存储在事件数据包中。
缺省情况下,收集器不收集硬件计数器溢出分析数据。如果硬件计数器溢出分析处于启用状态,而且尚未提供 profile 命令,则基于时钟的分析将处于关闭状态。
另请参见硬件计数器溢出分析的限制。