I will answer your questions from the beginning: > When can you use gdb -k? > With the latest GDB from CVS, I get: > $ gdb -k > gdb: unrecognized option `-k' I believe in newer versions of bsd release we've moved from "bsd -k" to kgdb. I don't know why this decision was made. Maybe its for some simple reason but I haven't poked around it. > Run gdb ( like this ) : kgdb -a -a -a kernel.debug > (kgdb) target remote /dev/cuad0 kgdb requires either a core file or a device file for remote debugging. If we issue this command on a local machine this behavior is pretty straightforward, with no quirkiness. > I guess you mean Emacs now parses your command line now. > But presumably you still get *gud-cuad0* in the mode-line of the GUD > buffer. Yes. I get the above, but is that an issue ? > Does kgdb work like gdb? yes it works like gdb. In its full glory. > Is "target remote /dev/cuad0" a valid kgdb command? Again, I was not able to get to this point without specifying the complete set of arguments while starting. ie. to start i need to specify -r and the debug file. without that i was not able to start it up. > Run gdb ( like this ) : kgdb -a -a -a -r /dev/cuad0 kernel.debug Just -a works for me. "-a -a" or "-a -a -a" and I get some garbled output on the screen. But still I have an issue, I have to press a "n" or "s" to get emacs to display the source file. Any way around it ? > One last thing, if you do get it to work well, please e-mail me what you > have learnt so that I can add it to my homepage. Yes...I will do this. I will make a complete document and give one copy to you and one to the Freebsd doc team. But I will try and get as much questions resolved in the document, so no one has to waste almost a day figuring it out like me. Regards, Sanjeev. Nick Roberts wrote: > Thank you very much Nick, Your clue of emacs version prompted me > to upgrade my emacs. after which I'm able to do it. I guess you mean Emacs now parses your command line now. But presumably you still get *gud-cuad0* in the mode-line of the GUD buffer. > BTW, my earlier emacs version was 21.2.4 and now it is 22.0.50.1 > > One more question: I'm still not able to open the file another emacs > window. I thought this was supposed happen automatically. In other > instances of emacs ( like when debugging apps ) the source code file > opens automatically in another emacs window ( vertical split style). I have some more thoughts but you need to answer my questions for good communication. Does kgdb work like gdb? Is "target remote /dev/cuad0" a valid kgdb command? > Even if it doesn't, when I enter "f" it opens up automatically. For the source to appear gdb/kgdb must output annotations. In gdb, this requires "--fullname" or "-annotate=1" for text mode and "-annotate=3" for graphical mode. In Emacs 21 "--fullname" was used but was not visible to the user. In Emacs 22, running an app like this: Run gdb (like this): gdb myprog won't display the source, but: Run gdb (like this): gdb -annotate=3 myprog will. Likewise, I suspect Run gdb ( like this ) : kgdb -r /dev/cuad0 kernel.debug won't display the source, but: Run gdb ( like this ) : kgdb -a -a -a -r /dev/cuad0 kernel.debug will. > One possibility is, though i changed the emacs current directory > to /usr/obj/usr/src/sys/MYKERNEL/ , the -r /dev/cuad0 option would have > changed the default directory, as evident in the file line when a gud > window is opened: > Current directory is /dev/ > :( You really want to find another way of specifying the arguments along the lines that I suggested, so that the directory doesn't change and you get *gud-kernel.debug* in the mode-line of the GUD buffer. However, I think another way to stop the current directory from changing is to set gud-chdir-before-run to nil. One last thing, if you do get it to work well, please e-mail me what you have learnt so that I can add it to my homepage. Thanks, Nick http://www.inet.net.nz/~nickrob --------------------------------- Never miss a thing. Make Yahoo your homepage.