From: Nick Roberts <nickrob@snap.net.nz>
To: "Francis Moreau" <francis.moro@gmail.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: gud : Phase error in gdb-pre-prompt (got pre-emacs)
Date: Tue, 1 Jul 2008 10:15:20 +1200 [thread overview]
Message-ID: <18537.23288.486975.94604@kahikatea.snap.net.nz> (raw)
In-Reply-To: <38b2ab8a0806300437kf9e9013oc296d5eb35c37e08@mail.gmail.com>
> I have a similar behaviour except that once the file is loaded emacs says
> within the square brackets:
>
> [Initializing...]
>
> forever. I need to do 'run', C-c Cc, <wait for ~10 seconds>. After that emacs
> says
>
> [ready]
>
> If I simply do 'run', emacs only show [Initializing...] forever.
>
> >
> > There are several factors that might make this slow:
> >
> > 1) An executable that was created from a large number of files.
>
> That's probably is the case since I'm loading Linux kernel.
>
> > 2) Using stabs debug format.
>
> I don't
>
> > 3) Using an old PC.
>
> I don't
You don't need all three and debugging the kernel is surely different to
debugging a program running within the oprating system.
> > If this is the problem I can post a patch that might speed things up but
> > just turning off gud-tooltip-mode might help.
> >
>
> turning off gud-tooltip-mode doesn't help.
I think this one only makes a difference if you are already visiting a large
number of files that form part of the executable.
> > If you still get an error after waiting for "ready":
> >
> > 1) Set gdb-enable-debug to t using M-x set-variable.
> > 2) Do M-x gdb and enter "run" in the GUD buffer to get the error.
> > 4) Post the value of gdb-debug-log (you can use `C-h v') to the list
> > (or just to me if it's large).
>
> Here it is:
>
> gdb-debug-log is a variable defined in `gdb-ui.el'.
> Its value is
> ((recv . "\n^Z^Zpre-prompt\n(gdb) \n^Z^Zprompt\n")
> (recv . "\n^Z^Zpost-prompt\n^done,frame={level=\"0\",addr=\"0x84002000\",func=\"_stext\"}\n(gdb)
> \n")
> (send-item "server interpreter mi -stack-info-frame\n" gdb-get-version))
That shows to me that execution has already begun and is in the function
_stext, so "run" wouldn't be an appropriate command to send anyway. It normally
starts (ends) like this:
...
(recv . "\n^Z^Zpre-prompt\n(gdb) \n^Z^Zprompt\n")
(recv . "\n^Z^Zpost-prompt\n")
(send-item "set width 0\n" ignore)
(recv . "\n^Z^Zpre-prompt\n(gdb) \n^Z^Zprompt\n")
(recv . "\n^Z^Zpost-prompt\n")
(send-item "set height 0\n" ignore)
(recv . "\n^Z^Zpre-prompt\n(gdb) \n^Z^Zprompt\n")
(recv . "\n^Z^Zpost-prompt\n&\"\\n^Z^Zerror-begin\\n\"\n&\"No registers.\\n\"\n~\"\\n\"\n~\"^Z^Zerror\\n\"\n^error,msg=\"No registers.\"\n(gdb) \n")
(send-item "server interpreter mi -stack-info-frame\n" gdb-get-version))
I understand why Emacs stops sending GDB commands after -stack-info-frame in
your case. What are the values of the variables
gdb-input-queue
gdb-pending triggers
gdb-ready
gud-runnning
at this point?
Isn't the kernel debugged through a remote stub in a patched gdb (kgdb)? I've
never done it but Hidetoshi Shimokawa has a patch here
http://wiki.freebsd.org/DebugWithDcons that successfully does it using
Emacs for the FreeBSD kernel.
Also there was a thread "kgdb in emacs" in help-gnu-emacs back in April of this
year.
If you make prgress with this problem please post a description to the list (or
emacs-devel) so I can add it to the documentation.
--
Nick http://www.inet.net.nz/~nickrob
next prev parent reply other threads:[~2008-06-30 22:15 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-27 8:52 gud : Phase error in gdb-pre-prompt (got pre-emacs) Markus Grunwald
2008-06-27 10:18 ` Nick Roberts
2008-06-30 11:37 ` Francis Moreau
2008-06-30 22:15 ` Nick Roberts [this message]
2008-07-01 14:07 ` Francis Moreau
2008-07-01 22:41 ` Nick Roberts
2008-07-07 7:59 ` Francis Moreau
2008-07-07 9:19 ` Nick Roberts
2008-07-15 7:49 ` Francis Moreau
2008-07-22 14:49 ` Francis Moreau
[not found] ` <mailman.13892.1214569215.18990.help-gnu-emacs@gnu.org>
2008-06-27 14:23 ` Markus Grunwald
2008-06-27 23:49 ` Nick Roberts
2008-07-03 7:16 ` hui wang
2008-07-03 7:35 ` Nick Roberts
[not found] ` <mailman.13907.1214610613.18990.help-gnu-emacs@gnu.org>
2008-06-30 12:45 ` Markus Grunwald
2008-06-30 13:44 ` Francis Moreau
2008-07-01 2:04 ` Nick Roberts
[not found] ` <mailman.14044.1214879193.18990.help-gnu-emacs@gnu.org>
2008-07-02 14:18 ` Markus Grunwald
2008-07-03 0:22 ` Nick Roberts
[not found] ` <mailman.14136.1215044558.18990.help-gnu-emacs@gnu.org>
2008-07-03 7:51 ` Markus Grunwald
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=18537.23288.486975.94604@kahikatea.snap.net.nz \
--to=nickrob@snap.net.nz \
--cc=francis.moro@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.