Mercurial > emacs
changeset 32812:c49b460bb280
(xbacktrace): Handle case that $bt->function isn't
a symbol.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Tue, 24 Oct 2000 10:55:57 +0000 |
parents | 4ae3a43dad2d |
children | a6d2c5625cf9 |
files | src/.gdbinit |
diffstat | 1 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/.gdbinit Tue Oct 24 10:52:22 2000 +0000 +++ b/src/.gdbinit Tue Oct 24 10:55:57 2000 +0000 @@ -315,14 +315,26 @@ define xbacktrace set $bt = backtrace_list while $bt - xprintsym *$bt->function + set $type = (enum Lisp_Type) ((*$bt->function >> gdb_valbits) & 0x7) + if $type == Lisp_Symbol + xprintsym *$bt->function + else + printf "0x%x ", *$bt->function + if $type == Lisp_Vectorlike + set $size = ((struct Lisp_Vector *) ((*$bt->function & $valmask) | gdb_data_seg_bits))->size + output (enum pvec_type) (($size & PVEC_FLAG) ? $size & PVEC_TYPE_MASK : 0) + else + printf "Lisp type %d", $type + end + echo \n + end set $bt = $bt->next end end document xbacktrace Print a backtrace of Lisp function calls from backtrace_list. Set a breakpoint at Fsignal and call this to see from where - an error was signalled. + an error was signaled. end define xreload