Добрый день.
Пытаюсь отладить проблему в драйвере, для чего подключил через COM порт GDB к соответствующе собранному ядру 2.6.39. В результате внешнего события ядро падает, и отладчик запускается.
Проблема - как узнать от чего (или хотя бы где) упало ядро? Трасса стека ничего не показывает, продолжить не даёт. Frame pointers есть.
Помогите пожалуйста.
(gdb) s
Can't send signals to this remote system. SIGSEGV not sent.
Program received signal SIGSEGV, Segmentation fault.
math_state_restore () at arch/x86/kernel/traps.c:871
871 in arch/x86/kernel/traps.c
Current language: auto; currently c
(gdb) c
Continuing.
warning: Remote failure reply: E22
[Thread 5353] #1 stopped.
math_state_restore () at arch/x86/kernel/traps.c:871
871 in arch/x86/kernel/traps.c
(gdb) bt
#0 math_state_restore () at arch/x86/kernel/traps.c:871
#1 0xc0525c5d in do_device_not_available (regs=0xf5e0353c, error_code=-1) at arch/x86/kernel/traps.c:915
#2 <signal handler called>
#3 0xf7c63058 in ?? ()
#4 0xf7c63a83 in ?? ()
#5 0xf7c63ad2 in ?? ()
#6 0xf7cca293 in ?? ()
#7 0xf7d8d546 in ?? ()
#8 0xf7d8d795 in ?? ()
#9 0xf7d92bfb in ?? ()
#10 0xf7cca16a in ?? ()
#11 0xc0250294 in kthread (_create=<value optimized out>) at kernel/kthread.c:78
#12 0xc0203d87 in kernel_thread_helper () at arch/x86/kernel/entry_32.S:1045
#13 0x00000000 in ?? ()
(gdb)