help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: kgdb in emacs


From: Sanjeev Kumar.S
Subject: Re: kgdb in emacs
Date: Sun, 27 Jan 2008 02:17:36 -0800 (PST)

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 <nickrob@snap.net.nz> 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.
reply via email to

[Prev in Thread] Current Thread [Next in Thread]