I need some help getting started with ignoring initial errors in gdb. Things seem to have changed from what I have in my notes.
From my notes, after:
break Fsignal
r -Q
Below worked:
Breakpoint 3, Fsignal (error_symbol=41328, data="" at eval.c:1471
1471 = (NILP (error_symbol) ? Fcar (data) : error_symbol);
(gdb) p error_symbol
$1 = 41328
(gdb) xsymbol
$2 = (struct Lisp_Symbol *) 0xc85aa0 <lispsym+41328>
"scan-error"
(gdb) condition 3 error_symbol!=41328
(gdb) c
But now, I am getting this breakpoint:
Starting program: /home/kmodi/downloads/git/emacs/src/emacs -Q
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffed1b3700 (LWP 30703)]
(emacs:30702): GLib-GIO-CRITICAL **: g_settings_schema_source_lookup: assertion 'source != NULL' failed
Thread 1 "emacs" hit Breakpoint 3, Fsignal (error_symbol=XIL(0xd980), data=""> at eval.c:1582
1582 signal_or_quit (error_symbol, data, false);
(gdb) r -Q
The program being debugged has been started already.
Start it from the beginning? (y or n) n
Program not restarted.
(gdb) p error_symbol
$1 = XIL(0xd980)
(gdb) xsymbol
$2 = (struct Lisp_Symbol *) 0xe1b2c0 <lispsym+55680>
"void-variable"
(gdb) condition 3 error_symbol!=XIL(0xd980)
(gdb) c
Continuing.
Error in testing breakpoint condition:
Structure has no component named operator!=.
Error in testing breakpoint condition:
Structure has no component named operator!=.
Thread 1 "emacs" hit Breakpoint 3, Fsignal (error_symbol=XIL(0xd980), data=""> at eval.c:1582
1582 signal_or_quit (error_symbol, data, false);
(gdb) condition 3 error_symbol!=0xd980
(gdb) c
Continuing.
Error in testing breakpoint condition:
Structure has no component named operator!=.
Error in testing breakpoint condition:
Structure has no component named operator!=.
Thread 1 "emacs" hit Breakpoint 3, Fsignal (error_symbol=XIL(0xd980), data=""> at eval.c:1582
1582 signal_or_quit (error_symbol, data, false);
(gdb) condition 3 error_symbol!=55680
(gdb) c
Continuing.
Error in testing breakpoint condition:
Structure has no component named operator!=.
Thread 1 "emacs" hit Breakpoint 3, Fsignal (error_symbol=XIL(0xd980), data=""> at eval.c:1582
1582 signal_or_quit (error_symbol, data, false);
So, what would be the right way to ignore that hex error_symbol code? Earlier that code was in decimal. But now it is in hex.
As seen above, none of the below works:
- condition 3 error_symbol!=XIL(0xd980) -- What is XIL?
- condition 3 error_symbol!=0xd980
- condition 3 error_symbol!=55680
Thanks.
--