--- Begin Message ---
Subject: |
23.1.50; gdb-mi.el: (wrong-type-argument stringp nil) when using watchpoints |
Date: |
Fri, 28 Aug 2009 13:55:55 +0200 |
Hi,
I'm having trouble with gdb-mi and watchpoints (i.e. "watch" command at
the gdb prompt).
Steps to reproduce (I'm posting from an Emacs instance where I just
reproduced this):
$ cat main.c
int main () {
int i;
i++;
i++;
}
$ gcc main.c -g
$ emacs -Q main.c
Then, within Emacs:
* Launch M-x gdb RET once.
* Quit this first *gud* buffer (C-x k)
* Launch M-x gdb RET once more (yes, that's strange, but it doesn't
crash in the first instance, only in the next one!)
* M-x toggle-debug-on-error RET
* In the *gud-a.out* buffer:
(gdb) b main
Breakpoint 1 at 0x8048335: file main.c, line 3.
(gdb) r
Starting program: /tmp/a.out
Breakpoint 1, main () at main.c:3
3 i++;
(gdb) watch i
Hardware watchpoint 2: i
Then, I get this backtrace (and it keeps giving the same error for
anything done in this *gud* buffer afterwards):
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
propertize(nil font-lock-face font-lock-function-name-face)
gdb-breakpoints-list-handler-custom()
gdb-breakpoints-list-handler()
apply(gdb-breakpoints-list-handler nil)
(save-current-buffer (set-buffer #<buffer *breakpoints of a.out*>) (apply
(quote gdb-breakpoints-list-handler) args))
(with-current-buffer #<buffer *breakpoints of a.out*> (apply (quote
gdb-breakpoints-list-handler) args))
(lambda (&rest args) (with-current-buffer #<buffer *breakpoints of a.out*>
(apply ... args)))()
gdb-done-or-error("BreakpointTable={nr_rows=\"2\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[bkpt={number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x08048335\",func=\"main\",file=\"main.c\",fullname=\"/tmp/main.c\",line=\"3\",times=\"1\"},bkpt={number=\"2\",type=\"hw
watchpoint\",disp=\"keep\",enabled=\"y\",addr=\"\",what=\"i\",times=\"0\"}]}"
"18" done)
gud-gdbmi-marker-filter("17^error,msg=\"Undefined mi command: thread-info
(missing implementation)\"\n(gdb)
\n18^done,BreakpointTable={nr_rows=\"2\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[bkpt={number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x08048335\",func=\"main\",file=\"main.c\",fullname=\"/tmp/main.c\",line=\"3\",times=\"1\"},bkpt={number=\"2\",type=\"hw
watchpoint\",disp=\"keep\",enabled=\"y\",addr=\"\",what=\"i\",times=\"0\"}]}\n(gdb)
\n19^done,frame={level=\"0\",addr=\"0x08048335\",func=\"main\",file=\"main.c\",fullname=\"/tmp/main.c\",line=\"3\"}\n(gdb)
\n")
apply(gud-gdbmi-marker-filter "17^error,msg=\"Undefined mi command:
thread-info (missing implementation)\"\n(gdb)
\n18^done,BreakpointTable={nr_rows=\"2\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[bkpt={number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x08048335\",func=\"main\",file=\"main.c\",fullname=\"/tmp/main.c\",line=\"3\",times=\"1\"},bkpt={number=\"2\",type=\"hw
watchpoint\",disp=\"keep\",enabled=\"y\",addr=\"\",what=\"i\",times=\"0\"}]}\n(gdb)
\n19^done,frame={level=\"0\",addr=\"0x08048335\",func=\"main\",file=\"main.c\",fullname=\"/tmp/main.c\",line=\"3\"}\n(gdb)
\n")
gud-marker-filter("17^error,msg=\"Undefined mi command: thread-info (missing
implementation)\"\n(gdb)
\n18^done,BreakpointTable={nr_rows=\"2\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[bkpt={number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x08048335\",func=\"main\",file=\"main.c\",fullname=\"/tmp/main.c\",line=\"3\",times=\"1\"},bkpt={number=\"2\",type=\"hw
watchpoint\",disp=\"keep\",enabled=\"y\",addr=\"\",what=\"i\",times=\"0\"}]}\n(gdb)
\n19^done,frame={level=\"0\",addr=\"0x08048335\",func=\"main\",file=\"main.c\",fullname=\"/tmp/main.c\",line=\"3\"}\n(gdb)
\n")
gud-filter(#<process gud-a.out> "17^error,msg=\"Undefined mi command:
thread-info (missing implementation)\"\n(gdb)
\n18^done,BreakpointTable={nr_rows=\"2\",nr_cols=\"6\",hdr=[{width=\"7\",alignment=\"-1\",col_name=\"number\",colhdr=\"Num\"},{width=\"14\",alignment=\"-1\",col_name=\"type\",colhdr=\"Type\"},{width=\"4\",alignment=\"-1\",col_name=\"disp\",colhdr=\"Disp\"},{width=\"3\",alignment=\"-1\",col_name=\"enabled\",colhdr=\"Enb\"},{width=\"10\",alignment=\"-1\",col_name=\"addr\",colhdr=\"Address\"},{width=\"40\",alignment=\"2\",col_name=\"what\",colhdr=\"What\"}],body=[bkpt={number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x08048335\",func=\"main\",file=\"main.c\",fullname=\"/tmp/main.c\",line=\"3\",times=\"1\"},bkpt={number=\"2\",type=\"hw
watchpoint\",disp=\"keep\",enabled=\"y\",addr=\"\",what=\"i\",times=\"0\"}]}\n(gdb)
\n19^done,frame={level=\"0\",addr=\"0x08048335\",func=\"main\",file=\"main.c\",fullname=\"/tmp/main.c\",line=\"3\"}\n(gdb)
\n")
In GNU Emacs 23.1.50.2 (i686-pc-linux-gnu, GTK+ Version 2.8.20)
of 2009-08-28 on bauges
Windowing system distributor `The X.Org Foundation', version 11.0.70101000
configured using `configure '--prefix=/home/moy/local/usr/''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default-enable-multibyte-characters: t
Major mode: Debugger
Minor modes in effect:
tooltip-mode: t
tool-bar-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
global-auto-composition-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: (only . t)
Recent input:
M-x g d b <return> <return> C-x k <return> y e s <return>
M-x g d b <return> <return> M-x t o g <tab> d e <tab>
e <tab> <return> b SPC m a i n <return> r <return>
w a t c h SPC i <return> <help-echo> M-x r e p o <tab>
r <tab> <return>
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Loading vc-git...done
Debug on Error enabled globally
Entering debugger...
Making completion list...
call-interactively: Buffer is read-only: #<buffer *Backtrace*>
Load-path shadows:
None found.
--
Matthieu
--- End Message ---