Re: How to debug an oops.

Richard B. Johnson (root@chaos.analogic.com)
Fri, 29 May 1998 10:26:20 -0400 (EDT)


On Fri, 29 May 1998, Brian Schau wrote:

> Hi,
>
>
> Subject says it all. How do I find information about how to debug an
> oops:
>
>
> May 29 14:28:02 rlis6 kernel: Unable to handle kernel paging request at
> virtual address ca31d1c5
> ....?
> (Is it an oops?)
> Regards,

If the oops does not kill the system, copy the oops from one of the
log-files (/var/log/info /var/log/debug, etc..) and run it through
ksymoops (source is linux/scripts/ksymoops.cc).

If the oops halts a boot, record the IP address, not the virtual address
as shown above. Then, after booting a kernel that works, use gdb:

# gdb /usr/src/linux/vmlinux
(gdb) disassemble [saved IP address]

If the oops is consistent, you can recompile the kernel with the "-g"
option (in the top-level Makefile, where CC is defined, add -g).
rebuild the entire kernel (make clean), them make bzImage.

After you get the oops, write down the IP address again, then reboot
again.

Then:

# gdb /usr/src/linux/vmlinux
(gdb) list *saved_IP_address

This will show the actual line of code that, when executed, caused the
oops. Neat! Fix. Make a patch-file. Submit!

Cheers,
Dick Johnson
***** FILE SYSTEM MODIFIED *****
Penguin : Linux version 2.1.103 on an i586 machine (66.15 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu