https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70548
--- Comment #2 from stu mark <smark at datto dot com> --- this finally got so annoying I did something about it. This is not the correct fix, but it seems to keep gdb from hanging and as all I really want to do in life is debug my program, I don't care if it's not perfect, I just care that I can continue to debug. in varobj.c line 778 or so (this is gdb 7.12.1 I'm playing with here) /* We ask for one extra child, so that MI can report whether there are more children. */ for (; to < 0 || i < to + 1; ++i) { if ( i > 100 ) // stu fix for hanging when to = -1 break; varobj_item *item; "to" is -1 and that makes this loop spin forever so I added the stop at 100 figuring 100 whatevers is enough for me.