LINUX.ORG.RU

Как посмотреть стэк ядра?

 ,


0

1

Доброго дня, у меня плата на АRМ64 с Андроид, хочется стек ядра посмотреть, а лучше брейкпойнт установаить. Не подскажите как лучше сделать? Пробывал через ftrace, но нужную функцию не выводит. Нужно ли как-то указывать в коде ядра какую функцию отслеживать во время запуска ftrace?

Вот, может полезно будет. Я тож страдаю KGDB на x86_amd64.

https://elinux.org/images/c/c6/Exploring_Linux_Kernel_Source_Code_with_Eclipse.pdf И поляк этот на ютубе лекции читает про отладку embedded. У меня с английским на-слух хреново.

https://habr.com/ru/post/592671/ (KGDB уже идет не патчем, а вшит в ядре. А вот, уже ссылку дали.)

https://www.kernel.org/doc/html/v4.18/dev-tools/kgdb.html

На x86 я просто ставлю бряк вручную в коде «asm(«int3»)» и GDB на COM-порту висящий ловит. Или в target-системе «echo g >/proc/sysrq-trigger». Или включить опцию кнопки SysRq = Alt+PrtScr Alt+G. Это все разные способы остановить ядро и для каждого остановка будет в своей нити со своим стеком. Для echo это будет нитка bash, его запустившего.

Из Eclipse запускал дебаг. Только там 300+ тредов в системе и на 115200 бод COM-порта каждый шаг gdb сопровождается обновлением всего и вся и тормоза адовы.

bugs-bunny
()