separate debugging symbols
Posted: Sun Oct 22, 2006 5:28 pm
On the "How do I use a debugger with my OS" page, in the "Use gdb with Qemu" section, there is:
Compile the program in two steps. When creating the object file, add debugging information. When linking, keep it in the debug version and remove it from the standard one:
If you want, you can remove the code from program.dbg, only keeping the debugging information (this is not necessary):
If you prefer compiling in one step, you may do the following instead:
On to starting gdb. If you would like to use the symbol file from the beginning, you could use:
If you want to load it later or manually, start "gdb program" and at the (gdb) prompt, type
Hope that helps.
While I haven't worked in kernel space yet, I know how to do this in userland (and it's probably the same):But thats not all, you can compile your source code under gcc with debuging symbols using "-g". This will add all the debuging symbols in the kernel image itself (Thus making it bigger ). I think there is a way to make this symbol file seperate, if so, please let me know.
Compile the program in two steps. When creating the object file, add debugging information. When linking, keep it in the debug version and remove it from the standard one:
Code: Select all
gcc -g -c program.c -o program.o
gcc program.o -o program.dbg
gcc program.o -s -o program
Code: Select all
strip program.dbg --only-keep-debug
Code: Select all
gcc -g program.c -o program
strip program --only-keep-debug -o program.dbg
strip program
Code: Select all
gdb --exec program --symbols program.dbg
Code: Select all
add-symbol-file program.dbg