Commit dcc85cb61808098d22792db95f1dfa9c8b3bcf6d

Authored by Richard Kennedy
Committed by Linus Torvalds
1 parent 844fcc5396

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 *(<symbol> + offset)

2. give a very brief hint how to decode module symbols in call traces

Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 1 changed file with 17 additions and 0 deletions Side-by-side Diff

Documentation/BUG-HUNTING
... ... @@ -214,6 +214,23 @@
214 214 gdb vmlinux
215 215 (gdb) p vt_ioctl
216 216 (gdb) l *(0x<address of vt_ioctl> + 0xda8)
  217 +or, as one command
  218 + (gdb) l *(vt_ioctl + 0xda8)
  219 +
  220 +If you have a call trace, such as :-
  221 +>Call Trace:
  222 +> [<ffffffff8802c8e9>] :jbd:log_wait_commit+0xa3/0xf5
  223 +> [<ffffffff810482d9>] autoremove_wake_function+0x0/0x2e
  224 +> [<ffffffff8802770b>] :jbd:journal_stop+0x1be/0x1ee
  225 +> ...
  226 +this shows the problem in the :jbd: module. You can load that module in gdb
  227 +and list the relevant code.
  228 + gdb fs/jbd/jbd.ko
  229 + (gdb) p log_wait_commit
  230 + (gdb) l *(0x<address> + 0xa3)
  231 +or
  232 + (gdb) l *(log_wait_commit + 0xa3)
  233 +
217 234  
218 235 Another very useful option of the Kernel Hacking section in menuconfig is
219 236 Debug memory allocations. This will help you see whether data has been