вывод в отладчике gdb (проблемы при выводе с помощью printf)

IDE, VCS и прочее

Модератор: Модераторы разделов

чудо
Сообщения: 11

вывод в отладчике gdb

Сообщение чудо »

отладчик gdb:
gdb -q /usr/src/linux/vmlinux /proc/kcore
следующие предложения
(gdb)set $x=init_task
(gdb)whatis $x
type=struct task_struct

Почему при следующих предложениях все замечательно выводится:
(gdb)printf "%d\n",$x.pid
0
(gdb)printf "%d\n",init_task.pid
0
А если пытаться вывести строку:
(gdb)printf "%s\n",$x.comm
получается ошибка:
Attempt to take address of value not located in memory

Но если выводить из глобальной переменной все успешно:
(gdb)printf "%s\n",init_task.comm
swapper

Почему выводится pid но не выводится comm? я бы понимал,если бы Attempt to take address of value not located in memory появлялась и при попытке вывода pid,но он успешно выводится...

подскажите,почему не могу строку вывести.
Спасибо сказали: