From: Richard Kennedy Date: Wed, 6 Feb 2008 09:38:01 +0000 (-0800) Subject: Documentation: add hint about call traces & module symbols to BUG-HUNTING X-Git-Tag: v2.6.25-rc1~668 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dcc85cb61808098d22792db95f1dfa9c8b3bcf6d;p=linux-2.6 Documentation: add hint about call traces & module symbols to BUG-HUNTING Here's a couple of small additions to BUG-HUNTING. 1. point out that you can list code in gdb with only one command (gdb) l *( + offset) 2. give a very brief hint how to decode module symbols in call traces Signed-off-by: Richard Kennedy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/Documentation/BUG-HUNTING b/Documentation/BUG-HUNTING index 6c816751b8..65022a87bf 100644 --- a/Documentation/BUG-HUNTING +++ b/Documentation/BUG-HUNTING @@ -214,6 +214,23 @@ And recompile the kernel with CONFIG_DEBUG_INFO enabled: gdb vmlinux (gdb) p vt_ioctl (gdb) l *(0x
+ 0xda8) +or, as one command + (gdb) l *(vt_ioctl + 0xda8) + +If you have a call trace, such as :- +>Call Trace: +> [] :jbd:log_wait_commit+0xa3/0xf5 +> [] autoremove_wake_function+0x0/0x2e +> [] :jbd:journal_stop+0x1be/0x1ee +> ... +this shows the problem in the :jbd: module. You can load that module in gdb +and list the relevant code. + gdb fs/jbd/jbd.ko + (gdb) p log_wait_commit + (gdb) l *(0x
+ 0xa3) +or + (gdb) l *(log_wait_commit + 0xa3) + Another very useful option of the Kernel Hacking section in menuconfig is Debug memory allocations. This will help you see whether data has been