Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
4c1f6a5b
Commit
4c1f6a5b
authored
Nov 08, 2012
by
Chong Yidong
Browse files
* doc/emacs/trouble.texi (Crashing): Copyedits.
parent
26f59676
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
36 additions
and
28 deletions
+36
-28
doc/emacs/ChangeLog
doc/emacs/ChangeLog
+4
-0
doc/emacs/trouble.texi
doc/emacs/trouble.texi
+31
-28
etc/NEWS
etc/NEWS
+1
-0
No files found.
doc/emacs/ChangeLog
View file @
4c1f6a5b
2012-11-08 Chong Yidong <cyd@gnu.org>
* trouble.texi (Crashing): Copyedits.
2012-11-08 Glenn Morris <rgm@gnu.org>
2012-11-08 Glenn Morris <rgm@gnu.org>
* files.texi (Diff Mode): Trailing whitespace updates.
* files.texi (Diff Mode): Trailing whitespace updates.
...
...
doc/emacs/trouble.texi
View file @
4c1f6a5b
...
@@ -281,18 +281,19 @@ itself, and the reserve supply may not be enough.
...
@@ -281,18 +281,19 @@ itself, and the reserve supply may not be enough.
@node Crashing
@node Crashing
@subsection When Emacs Crashes
@subsection When Emacs Crashes
Emacs is not supposed to crash, but if it does, before it exits it
@cindex crash report
reports a brief summary of the crash to the standard error stream
Emacs is not supposed to crash, but if it does, it produces a
@code{stderr}. If enabled, a crashed Emacs also generates a core dump
@dfn{crash report} prior to exiting. The crash report is printed to
containing voluminous data about the crash. On many platforms you can
the standard error stream. If Emacs was started from a graphical
enable core dumps by putting the shell command @samp{ulimit -c unlimited}
desktop, the standard error stream is commonly redirected to a file
into your shell startup script. The crash report and core dump can be
such as @file{~/.xsession-errors}, so you can look for the crash
used when debugging the same version of Emacs on the same platform.
report there.
The format of the crash report depends on the platform, and some
The format of the crash report depends on the platform. On some
platforms support backtraces.
platforms, such as those using the GNU C Library, the crash report
Here is an example, generated on x86-64 GNU/Linux with version 2.15 of
includes a @dfn{backtrace} describing the execution state prior to
the GNU C Library:
crashing, which can be used to help debug the crash. Here is an
example:
@example
@example
Fatal error 11: Segmentation fault
Fatal error 11: Segmentation fault
...
@@ -304,25 +305,18 @@ emacs[0x4ed504]
...
@@ -304,25 +305,18 @@ emacs[0x4ed504]
/lib64/libpthread.so.0(read+0xe)[0x375220e08e]
/lib64/libpthread.so.0(read+0xe)[0x375220e08e]
emacs[0x509af6]
emacs[0x509af6]
emacs[0x5acc26]
emacs[0x5acc26]
emacs[0x5adbfb]
@dots{}
emacs[0x56566b]
emacs[0x59bac3]
emacs[0x565151]
...
@end example
@end example
@noindent
@noindent
The number @samp{11} is the system signal number that corresponds to
The number @samp{11} is the system signal number corresponding to the
the problem, a segmentation fault here. The three dots at the end
crash---in this case a segmentation fault. The hexadecimal numbers
indicate that Emacs suppressed further backtrace entries, in the
are program addresses, which can be associated with source code lines
interest of brevity.
using a debugging tool. For example, the GDB command
@samp{list *0x509af6} prints the source-code lines corresponding to
The hexadecimal program addresses can be useful in debugging sessions.
the @samp{emacs[0x509af6]} entry. If your system has the
For example, the GDB command @samp{list *0x509af6} prints the
@command{addr2line} utility, the following shell command outputs a
source-code lines corresponding to the @samp{emacs[0x509af6]} entry in
backtrace with source-code line numbers:
the backtrace. Or, if your system has @command{addr2line}, the
following shell command outputs a backtrace with source-code line
numbers:
@example
@example
sed -n 's/.*\[\(.*\)]$/\1/p' @var{backtrace} |
sed -n 's/.*\[\(.*\)]$/\1/p' @var{backtrace} |
...
@@ -334,6 +328,15 @@ Here, @var{backtrace} is the name of a text file containing a copy of
...
@@ -334,6 +328,15 @@ Here, @var{backtrace} is the name of a text file containing a copy of
the backtrace, and @var{bindir} is the name of the directory that
the backtrace, and @var{bindir} is the name of the directory that
contains the Emacs executable.
contains the Emacs executable.
@cindex core dump
Optionally, Emacs can generate a @dfn{core dump} when it crashes. A
core dump is a file containing voluminous data about the state of the
program prior to the crash, usually examined by loading it into a
debugger such as GDB. On many platforms, core dumps are disabled by
default, and you must explicitly enable them by running the shell
command @samp{ulimit -c unlimited} (e.g.@: in your shell startup
script).
@node After a Crash
@node After a Crash
@subsection Recovery After a Crash
@subsection Recovery After a Crash
...
...
etc/NEWS
View file @
4c1f6a5b
...
@@ -164,6 +164,7 @@ and sorted above the other "available" packages by default.
...
@@ -164,6 +164,7 @@ and sorted above the other "available" packages by default.
**
`C-x C-q' is now bound to the new minor mode `read-only-mode'.
**
`C-x C-q' is now bound to the new minor mode `read-only-mode'.
This minor mode replaces `toggle-read-only', which is now obsolete.
This minor mode replaces `toggle-read-only', which is now obsolete.
+++
**
Emacs now generates backtraces on fatal errors.
**
Emacs now generates backtraces on fatal errors.
On encountering a fatal error, Emacs now outputs a textual description
On encountering a fatal error, Emacs now outputs a textual description
of the fatal signal, and a short backtrace on platforms like glibc
of the fatal signal, and a short backtrace on platforms like glibc
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment