all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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




  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.