LINUX.ORG.RU

Локальный дебаг ядра

 , ,


0

2

Делаю лабораторную работу по ОС, нужно локально запустить ядро с помощью дебаггера и приостановить его работу.

gdb vmlinux-3.11.0-12-generic
...GDB header...
Reading symbols from ....
(gdb) break start_kernel
(gdb) break init/main.c:1
(gdb) run
Starting program: .../vmlinux...
During startup program terminated with signal SIGKILL, Killed.

Почему у меня SIGKILL?

Ответ на: комментарий от anonymous

Извините, если мне нужно «отладить ядро локально с помощью gdb», то мне нужно какое-то специальное ядро? (если не брать во внимание наличие отладочных символов). Или я что-то в корне не правильно делаю?

DobraVsemDobra
() автор топика
Ответ на: комментарий от yoghurt

реклама

там как-то через последовательный порт делается? Ужос! А в драгонфлае есть зато vkernel!

anonymous
()
Ответ на: комментарий от yoghurt

А это можно будет назвать локальной отладкой? В задании, просто, нужно провести сначала локальную, а потом - отладку по сети.

DobraVsemDobra
() автор топика
Ответ на: комментарий от yoghurt

А моя саксесс-стори такая, что недавно я поставил в qemu нетбсд, а на хосте - драгонфлай, конечно. И захотелось мне иметь доступ к виртуалке по ssh с другого компа. Настраиваю, значит, nat через natd+ipfw, пингую виртуалку и - хоп! - в хосте kernel panic. Нашел таким макаром дереференс NULL поинтера, пофикшеный во фре ещё в 2004. Один уже пофиксили, а для другого не слал багрепорт пока

anonymous
()
Ответ на: комментарий от DobraVsemDobra

А это можно будет назвать локальной отладкой?

Разрешаю.

а потом - отладку по сети.

Не понятно. Тут вариант предлагают с serial console, потому что ведро это поддерживает. А сеть вряд ли будет работать из отладчика. Хотя хз, как там в линуксе.

anonymous
()
Ответ на: комментарий от DobraVsemDobra

А это можно будет назвать локальной отладкой?

Ну а какая она ещё, если QEMU будет на твоём-же хосте?

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Конечно, меня же опять забанили (другой Вася). Ну я зарегился и написал ему, что о нём думаю. И шоби ви думали - опять забанили

anonymous
()
Ответ на: комментарий от anonymous

Он остановил работу локального ядра, не может ответить.

tensai_cirno ★★★★★
()
Ответ на: комментарий от yoghurt

Но ведь если запустить QEMU, то это, уже считай, другая, эмулируемая, машина?

В примере рассматривался VirtualBox, и вроде бы ядро запускалось примерно таким же образом, который я запускал.

DobraVsemDobra
() автор топика
Ответ на: комментарий от DobraVsemDobra

Может у него какой-то юзерспейсный линукс (вроде называется UML). Сам подумай - как отлаживать машину, на которой работаешь в данный момент?

anonymous
()

попробуй так

gdb /linux/vmlinux /proc/kcore

dimon555 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.