I have a followup gdb 101 question:

I thought I would improve the debug capability by adding the flags "--enable-checking='yes,glyphs' --enable-check-lisp-object-type" to ./configure as per etc/DEBUG. I did not have those 2 flags earlier. But after rebuilding using the suggested options, the conditional breakpoints do not work. I also noticed that earlier "p error_symbol" gave something like,

$1 = 41328

Now it gives something like,

$1 = {
  i = 41328
}

Also, when earlier I saw:

    Breakpoint 3, Fsignal (error_symbol=19056, data=16197139) at eval.c:1471

, now I see instead:

    Breakpoint 3, Fsignal (error_symbol=..., data=...) at eval.c:1471

(those numbers for error_symbol and data are literally replaced with "...")

=====

(emacs:22439): GLib-GIO-CRITICAL **: g_settings_schema_source_lookup: assertion 'source != NULL' failed

Breakpoint 3, Fsignal (error_symbol=..., data=...) at eval.c:1471
1471        = (NILP (error_symbol) ? Fcar (data) : error_symbol);
(gdb) p error_symbol
$1 = {
  i = 41328
}
(gdb) xsymbol
$2 = (struct Lisp_Symbol *) 0xdc3ee0 <lispsym+41328>
"scan-error"
(gdb) condition 3 error_symbol!=41328
(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!=.

Breakpoint 3, Fsignal (error_symbol=..., data=...) at eval.c:1471
1471        = (NILP (error_symbol) ? Fcar (data) : error_symbol);

Here's my new ./configure command:

./configure options:
  --with-modules --prefix=/home/kmodi/usr_local/apps/6/emacs/emacs-25 --enable-checking=yes,glyphs --enable-check-lisp-object-type 'CPPFLAGS=-fgnu89-inline -I/home/kmodi/usr_local/6/include -I/usr/include/freetype2 -I/usr/include' 'CFLAGS=-ggdb3 -O0' 'CXXFLAGS=-ggdb3 -O0' 'LDFLAGS=-L/home/kmodi/usr_local/6/lib -L/home/kmodi/usr_local/6/lib64 -ggdb3' PKG_CONFIG_PATH=/home/kmodi/usr_local/6/lib/pkgconfig:/home/kmodi/usr_local/6/lib64/pkgconfig:/cad/adi/apps/gnu/linux/x86_64/6/lib/pkgconfig:/cad/adi/apps/gnu/linux/x86_64/6/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig:/lib64/pkgconfig

For now, I will rebuild emacs without "--enable-checking='yes,glyphs' --enable-check-lisp-object-type". But it would be good to know why those flags affected gdb (when etc/DEBUG says that those should not), and also why didn't conditional breakpoints work in this case. (I hope to get the old conditional-breakpoint-working-self back once I finish rebuilding without those flags.)
--

--
Kaushal Modi