From: Jason J. H. <he...@cl...> - 2004-09-29 15:30:33
|
Hello, I'm trying to debug some kernel code using GDB. The problem is that when I set a break point and attempt to step through the code to see what is going on, strange things happen. GDB seems to be jumping everywhere and not executing the code in order. GDB will also tell me that certain symbols (like tcp_ack) are at a specific line number of a specific file and when I brose the source code to that location, there is something completely different there. After a few steps from the do_ack() function, GDB tells me " Line number 753 out of range; tcp.h has 444 lines.". I have the skas patch installed on my host system, I have compiled the UM kernel with tracing thread support, skas, enable ptrace proxy, and kernel debugging symbols. I have even used 'nm' to list all 11,000+ symbols in the kernel. They are there. I also used 'make mrproper' and 'make clean' before doing my compile. It looks to be as though the symbols are WRONG. Why else would gdb say that a certain line number is out of range?? Or point me to a random line of code and say "this is where tcp_ack" begins?? If anyone wants any more information on how I compiled, or what I've been running in terms of options, arguments, or anything else, please let me know. Thanks in advance for any help you can provide. - Jason Herne (he...@cl...) |