emacs-devel
[Top][All Lists]
Advanced

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

Problems with gdb-ui.


From: Kim F. Storm
Subject: Problems with gdb-ui.
Date: 22 Jun 2004 10:15:30 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

At times, I have had BIG problems with emacs behaving very strangely
if gdb is running (or has been running).  

For example, I cannot easily C-g out of the minibuffer and bogus
stuff seems to be written to the minibuffer (but I'm not sure).

Also emacs once hung retrieving POP mail.

Enabling debugging gets this result in gdb-debug-log:

((recv . "\nframes-invalid\n")
 (recv . "\nframes-invalid\n")
 (recv . "\nframes-invalid\n\nframes-invalid\n")
 (recv . "\nframes-invalid\n")
 ...  continues forever ...

the partial output buffer contains:

        Undefined command: "interpreter".  Try "help".


My GDB is the one that came with redhat 9.0:

GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
Copyright 2003 Free Software Foundation, Inc.



Re. the minibuffer problems, I don't really know what's going on,
but could it be that some process filter does (set-buffer nil)
and thus throw an error, and then strange things happen with
quit or something...  [for an example where that could happen,
see code below, there's no check that buffer is non-nil here]

(defun gdb-assembler-custom ()
  (let ((buffer (gdb-get-buffer 'gdb-assembler-buffer))
        (pos 1) (address) (flag))
    (with-current-buffer buffer
      (if (not (equal gdb-current-address "main"))
          (progn
            (goto-char (point-min))
            (if (re-search-forward gdb-current-address nil t)
                (progn
                  (setq pos (point))
                  (beginning-of-line)
                  (or gdb-overlay-arrow-position
                      (setq gdb-overlay-arrow-position (make-marker)))
                  (set-marker gdb-overlay-arrow-position
                              (point) (current-buffer))))))
      ;; remove all breakpoint-icons in assembler buffer before updating.
      (gdb-remove-breakpoint-icons (point-min) (point-max)))
    (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer)
      (goto-char (point-min))


When emacs "hung" in POP mail retrieval, the following backtrace
tells me something is bad in gdb:

(gdb) xbacktrace
"gdb-look-for-tagged-buffer"
"gdb-get-buffer"
"gdb-get-create-buffer"
"gdb-append-to-partial-output"
"gdb-concat-output"
"gud-gdba-marker-filter"
"apply"
"gud-marker-filter"
"gud-filter"
"accept-process-output"
"pop3-read-response"
"pop3-open-server"
"pop3-movemail"
"mail-source-fetch-pop"
"funcall"
"mail-source-fetch"
"nnmail-get-new-mail"
"nnml-request-scan"
"gnus-request-scan"
"gnus-read-active-file-1"
"gnus-read-active-file"
"gnus-group-get-new-news"
"call-interactively"



-- 
Kim F. Storm <address@hidden> http://www.cua.dk





reply via email to

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