emacs-devel
[Top][All Lists]
Advanced

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

Re: Enhancement to report-emacs-bug


From: Kevin Rodgers
Subject: Re: Enhancement to report-emacs-bug
Date: Wed, 20 Jul 2005 11:31:25 -0600
User-agent: Mozilla Thunderbird 0.9 (X11/20041105)

Kim F. Storm wrote:
I think the following advice would help us get
better bug reports for emacs crashes:

*** emacsbug.el 05 Jul 2005 10:18:12 +0200      1.65
--- emacsbug.el 20 Jul 2005 17:01:40 +0200      
***************
*** 125,131 ****
(insert "\n\n")
      (setq user-point (point))
!     (insert "\n\n\n")
(insert "In " (emacs-version) "\n")
      (if (fboundp 'x-server-vendor)
--- 125,136 ----
(insert "\n\n")
      (setq user-point (point))
!     (insert "\n\n")
! ! (insert "If emacs crashed, and you have the emacs process in the gdb debugger,\n"
!           "please include the output from the following gdb commands:\n"
!           "    `bt full' and `xbacktrace'.\n"
!           "The file etc/DEBUG explains how to further debug the crash.\n\n\n")
(insert "In " (emacs-version) "\n")
      (if (fboundp 'x-server-vendor)


Note that you can provide a full path to the etc/DEBUG file:
(expand-file-name "etc/DEBUG" data-directory)

But how about providing an Emacs command to debug the crash and
instructions on how to use it:

        If emacs crashed, try running the gdb debugger on the program
        and its core file:
        
                M-x gdb-emacs-crash
                (gdb) bt full
                (gdb) xbacktrace
        
        Then insert the *gud* buffer into this report.  The file
        /usr/local/share/emacs/21.3/etc/DEBUG explains how to further
        debug the crash.

(defun gdb-emacs-crash (program core)
  "*Run gdb on the crashed emacs PROGRAM and its dumped CORE file."
  (interactive
   (let ((insert-default-directory t))
     (list (read-file-name "Program: "
                           invocation-directory nil t invocation-name)
           (read-file-name "Core: "
                           (with-current-buffer "*scratch*"
                             default-directory)
                           nil
                           t
                           "core"))))
  (gdb (format "gdb %s %s" program core)))

--
Kevin Rodgers





reply via email to

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