Печать отдельной переменной структуры в GDB - PullRequest
0 голосов
/ 23 января 2020

Я отлаживаю ядро ​​Linux. Я могу напечатать содержимое структуры следующим образом:

(gdb) p *(struct rb_node*)0xffff88813b160388
 $6 = {
 __rb_parent_color = 1, 
 rb_right = 0xffff88813b31a5c8, 
 rb_left = 0xffff88813b1608c8
}

Вместо того, чтобы печатать содержимое всей структуры, я пытаюсь напечатать определенное значение структуры. Например, что-то вроде rb_right = 0xffff88813b31a5c8. Я пытаюсь следующим образом, он показывает мне ошибку, я не совсем уверен, правильный ли это подход или нет.

(gdb) p *((struct rb_node*)rb_right) 0xffff88813b160388
 No symbol "rb_right" in current context.

Пожалуйста, помогите.

1 Ответ

1 голос
/ 23 января 2020

Это структура, используйте синтаксис C:

p (*(struct rb_node*) 0xffff88813b160388).rb_right
...