Я подключаю gdb к ядру виртуальной машины и пытаюсь отладить модуль ядра. Я могу подключиться к виртуальной машине. У меня есть информация о символах для кода ядра, и я могу просто выполнить код ядра.gdb теряет информацию о номере линии (на модулях ядра) после точки останова
При добавлении файла символов для моего модуля ядра (делать ли я это до или после удаленного подключения, кстати), я могу list <function_name>
информации о функции, до я установить контрольную точку; после этого:
(gdb) b function_name
Breakpoint 1 at 0xffffffffa01d0074 (3 locations)
(gdb) list function_name
No line number known for function_name.
Дополнительная информация:
- Оба хозяина и гостя в Fedora 16 64-битная.
- Ядро, которое я отлаживаю, является 3.0.8 - обратите внимание, что это ядро отлично работало при предыдущей 32-разрядной настройке с другой настройкой и удаленным подключением.
- Я пробовал это с gdb 7.2 и 7.3.50.
Любые идеи о том, что случилось? Это помогло бы, если бы я даже знал наверняка, была ли проблема моим ядром, компиляцией модуля ядра, соединением или gdb.
Update: С помощью GDB 7.1, я получаю следующее:
...
(gdb) b function_name
/gdb/breakpoint.c:7903: internal-error: expand_line_sal_maybe: Assertion `found' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Что это значит?