例如,当我输入
时p dest-msgs [count]
显示以下值。如何理解这些价值观的重要性?
p dest->msgs[count]
$9 = {hdr = {ver = 5 '\005', magic = 18 '\022', evt_len = 588}, evt = {hdr = {ver = 3 '\003', magic = 18 '\022', evt_len = 552}, service_id = 1, instance = 0, comp_id = -2136604671,
comp_name = "tsd", '\0' <repeats 14 times>, flags = 0, objid = 0, file = "ts.c", '\0' <repeats 11 times>, func = "tsTimeMcast_h\000\000", line = 1667, local_time_sec = 1483252020,
local_time_usec = 28575, time_sec = 1483252020, time_usec = 28675, global_seq = 4014, external_seq = 2146, iq_drop = 0, rq_drop = 0,
arg_offset = "\000\002\005\006", '\0' <repeats 11 times>, arg = "LOCL\000\000\000\000External\000\000\000\000EXT\000LOCL", '\0' <repeats 227 times>, msgdef = {msg_id = 0,
attributes = 0, class = 0, severity = 0, msg_value = "\000\000\000\000\000\000\000\000\000", message = '\0' <repeats 128 times>, arg_type = 0, arg_num = 0,
cat_name = "\000\000\000\000\000\000\000"}}, name = '\0' <repeats 31 times>}
答案 0 :(得分:1)
让我们看看我们在这里有什么:
p dest-&gt; msgs [count]
所以,你似乎从数组中打印出一个特定的元素。 Gdb回应:
$ 9 = {
此$9
只是一个人工名称,您以后可以使用它来引用此结果。结果从一个开口支撑开始。这意味着它是一种结构。它继续:
hdr = {ver = 5'\ 005',magic = 18'\ 022',evt_len = 588},
结构的第一个成员名称为hdr
,其值为,参见下一个左大括号,同样是一个结构。这个嵌套结构有三个成员(右括号告诉我们必须停止计数的地方),名为ver
,magic
和evt_len
。你看到他们各自的价值观。然后是
evt = {hdr = {ver = ...
也就是说,evt
是外部结构的第二个成员,它也是一个结构,它有成员hdr
,它也是一个结构。等等。