Commit dcc85cb61808098d22792db95f1dfa9c8b3bcf6d
Committed by
Linus Torvalds
1 parent
844fcc5396
Exists in
master
and in
4 other branches
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 |