From dcc85cb61808098d22792db95f1dfa9c8b3bcf6d Mon Sep 17 00:00:00 2001 From: Richard Kennedy Date: Wed, 6 Feb 2008 01:38:01 -0800 Subject: 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 --- Documentation/BUG-HUNTING | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'Documentation/BUG-HUNTING') diff --git a/Documentation/BUG-HUNTING b/Documentation/BUG-HUNTING index 6c816751b868..65022a87bf17 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 -- cgit v1.2.3-59-g8ed1b