ok, here's what i've learned so far, and i have to admit, a little of it surprises me. to explain what i'm doing, i've just started to write a tutorial on kernel debugging for one of my clients, and i'm trying to start with the absolutely simplest possible techniques. the simplest method i know of is just # gdb vmlinux /proc/kcore AFAIK, unless you have at least the kernel image, there's not much you can do (but if there is, feel free to fill me in and i'll add it to my list). so, as a first attempt, i used the latest git tree and explicitly configured *without* the DEBUG_INFO selection. even though LDD3 (p. 100) claims that you need that option to have symbol information, that's not entirely true. once i configured and built my kernel, i then had my vmlinux file and my System.map file, and i rebooted under that new kernel. i could then compare the contents of System.map to the contents of /proc/kallsyms, just to verify that it looked sane: $ grep "D jiffies" System.map c054bc00 D jiffies c054bc00 D jiffies_64 $ grep "D jiffies" /proc/kallsyms c054bc00 D jiffies c054bc00 D jiffies_64 ok, looks good. and, at this point, as root, i can do this: # gdb vmlinux /proc/kcore GNU gdb Red Hat Linux (6.6-15.fc7rh) Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"... (no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". warning: shared library handler failed to enable breakpoint Core was generated by `ro root=/dev/fc5/root rhgb quiet'. #0 0x00000000 in ?? () (gdb) p jiffies $1 = 1084958 (gdb) p max_cpus $2 = 32 (gdb) ... so even eithout selecting DEBUG_INFO, you can still examine at least *basic* data objects. what DEBUG_INFO gives you (as i read it) is the ability to dump more complicated objects, like structures. but even without that feature, gdb is still moderately useful. i had always read that you absolutely needed DEBUG_INFO to use gdb in any useful way, but it's clear that that's not true. rday -- ======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry Waterloo, Ontario, CANADA http://fsdev.net/wiki/index.php?title=Main_Page ======================================================================== -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ