GDB/MI断点信息
当GDB报告有关断点、跟踪点、观察点或捕获点的信息时,它使用具有以下字段的元组:
number
断点编号。
type
断点的类型。对于普通断点,这将是 ‘断点’,但许多值都是可能的。
catch-type
如果断点的类型是 ‘捕捉点’,那么这表示捕获点的确切类型。
disp
这是断点配置——要么 ‘的’,表示断点将在下一站被删除,或者’保持’,表示断点不会被删除。
enabled
这表示是否启用断点,在这种情况下值为’是’,或禁用,在这种情况下,值为 ‘n’。请注意,这与字段不同enable
。
addr
断点的地址。这可能是一个十六进制数,给出地址;或字符串 ‘<待处理>’,对于挂起的断点;或字符串 ‘<多个>’,对于具有多个位置的断点。如果无法确定地址,则该字段将不存在。例如,观察点没有地址。
addr_flags
包含与地址相关的任何标志的可选字段。这些标志是依赖于架构的;有关特定 CPU 的含义, 请参见体系结构。
func
如果知道,断点所在的函数。如果未知,则该字段不存在。
filename
包含此函数的源文件的名称(如果已知)。如果未知,则该字段不存在。
fullname
包含此函数的源文件的完整文件名(如果已知)。如果未知,则该字段不存在。
line
出现此断点的行号(如果已知)。如果未知,则该字段不存在。
at
如果源文件未知,则可以提供此字段。如果提供,它保存断点的地址,可能后跟符号名称。
pending
如果此断点处于挂起状态,则此字段存在并保存用户输入的用于设置断点的文本。
evaluated-by
在评估此断点的条件时,要么’主持人’ 或者 ‘目标’.
thread
如果这是一个特定于线程的断点,则它标识断点可以在其中触发的线程。
task
如果此断点仅限于特定的 Ada 任务,则此字段将保存任务标识符。
cond
如果断点是有条件的,这就是条件表达式。
ignore
断点的忽略计数。
enable
断点的启用计数。
traceframe-usage
整我。
static-tracepoint-marker-string-id
对于静态跟踪点,静态跟踪点标记的名称。
mask
对于掩码观察点,这是掩码。
pass
跟踪点的通过计数。
original-location
用户最初指定的断点位置。此字段是可选的。
times
断点被命中的次数。
installed
该字段仅用于跟踪点。这要么是’是’,表示已安装跟踪点,或 ‘n’,意思是它不是。
what
一些额外的数据,其确切内容取决于类型。
locations
如果断点有多个位置,则存在此字段。如果断点已启用并且具有单个禁用位置,它也会异常出现。
该值是位置列表。位置的格式如下所述。
多位置断点中的位置表示为具有以下字段的元组:
number
位置编号为点对,如 ‘1.2’。第一个数字是父断点的编号。第二个数字是该断点内的位置编号。
enabled
有三个可能的值,含义如下:
y
该位置已启用。
n
该位置已被用户禁用。
N
该位置被禁用,因为断点条件在该位置无效。
addr
此位置的地址为十六进制数。
addr_flags
包含与地址相关的任何标志的可选字段。这些标志是依赖于架构的;有关特定 CPU 的含义, 请参见体系结构。
func
如果已知,则显示该位置的函数。如果未知,则该字段不存在。
file
包含此位置的源文件的名称(如果已知)。如果未知,则该字段不存在。
fullname
包含此位置的源文件的完整文件名(如果已知)。如果未知,则该字段不存在。
line
此位置出现的行号(如果已知)。如果未知,则该字段不存在。
thread-groups
此位置所在的线程组。
还没有评论,来说两句吧...