Thank you very much Nick, Your clue of emacs version prompted me
to upgrade my emacs. after which I'm able to do it.
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).
Even if it doesn't, when I enter "f" it opens up automatically.

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:
Curre nt directory is /dev/
:(

I tried changing the current directory again to .../MYKERNEL/ but still
"f" doesn't open the source in another window ?

Any suggestions ?

Thanks again & Regards,
Sanjeev.

Nick Roberts <nickrob@snap.net.nz> wrote:
> I'm trying to use kgdb in emacs on Freebsd V6.2. I'm able to use kgdb
> on the command line like this
> kgdb -r /dev/cuad0 kernel.debug.
> In 6.2 there is no gdb -k, only kgdb.

When can you use gdb -k?

With the latest GDB from CVS, I get:

$ gdb -k
gdb: unrecognized option `-k'

> But when I run it in emacs. M-x gdb
> Run gdb ( like this ) : kgdb -r /dev/cuad0 kernel.debug
> I get :
> Current directory is /dev/
> kgdb: multiple c ore files specified. Ignored
> kgdb: d: No such file or directory.
> Debugger exited abnormally with code 1
>
> Why is emacs even interpretting my commands.
> Why doesn't it just call kgdb with whatever arguments
> I give ?

For some debuggers Emacs adds extra arguments. It's also trying to parse the
name of the executable from the command line for the mode-line and hasn't been
designed with kgdb in mind.

I've not used kgdb and you don't say what version of Emacs you are using, but I
know kgdb can work in Emacs (and with Freebsd) because I've seen this
screenshot:

http://people.freebsd.org/~simokawa/gdb/dcons-emacs-gud.PNG

and this description:

http://wiki.freebsd.org/DebugWithDcons

where Hidetoshi Shimokawa sets gud-gdba-command-name

(setq gud-gdba-command-name "kgdb -a -a -a -r :12345")

It looks like "-a -a -a" sets the annotation lev el to 3 as needed by the
Graphical Interface (Emacs 22 only). Text mode (or Emacs 21 or earlier)
presumably works with just "-a".


> Current directory is /dev/

It thinks the executable is /dev/cuad0, being the first argument that doesn't
start with a hyphen.

> kgdb: multiple core files specified. Ignored
> kgdb: d: No such file or directory.

I don't know what has happened here because this seems to parse correctly

> Debugger exited abnormally with code 1


Assuming kgdb is a bit like gdb with a remote target, does:

Run gdb ( like this ) : kgdb -a -a -a kernel.debug
(kgdb) target remote /dev/cuad0

work?

--
Nick http://www.inet.net.nz/~nickrob


Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.