public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/3 v2] Limit tab-completion result when list is large
@ 2014-11-06 10:50 Gary Benson
  2014-11-06 10:51 ` [PATCH 1/3 v2] Add expansion_notify callback to expand_symtabs_matching Gary Benson
                   ` (2 more replies)
  0 siblings, 3 replies; 29+ messages in thread
From: Gary Benson @ 2014-11-06 10:50 UTC (permalink / raw)
  To: gdb-patches

Hi all,

When debugging large programs, pressing the Tab key at the wrong
time causes GDB to lock up while it builds a completion list.  As
an example, with LibreOffice:

 $ gdb /usr/lib64/libreoffice/program/soffice.bin
 (gdb) start
 (gdb) b <Tab>

On my (pretty fast!) machine the user is left hanging for nearly a
minute while GDB builds a list of the 212405 places the user could
break on.  This is PR cli/11920.

PR cli/15548 proposes to abort building the completion list if it
grows too large, the theory being that nobody is going to scroll
through thousands of screens of completions to find the one they
want.  These three patches implement this.  The default limit is 200
completions, which the user can override with a new set/show option.

Tested on RHEL6.5 x86_64, no regressions.

Is this ok to commit?

Thanks,
Gary

--
http://gbenson.net/

^ permalink raw reply	[flat|nested] 29+ messages in thread
* [PATCH 0/3 v2] Abort completion when list becomes large
@ 2014-11-27 13:16 Gary Benson
  2014-11-27 13:16 ` [PATCH 3/3 v2] Implement completion limiting Gary Benson
  0 siblings, 1 reply; 29+ messages in thread
From: Gary Benson @ 2014-11-27 13:16 UTC (permalink / raw)
  To: gdb-patches; +Cc: Doug Evans, Eli Zaretskii

Hi all,

When debugging large programs, pressing the Tab key at the wrong
time causes GDB to lock up while it builds a completion list.  As
an example, with LibreOffice:

 $ gdb /usr/lib64/libreoffice/program/soffice.bin
 (gdb) start
 (gdb) b <Tab>

On my (pretty fast!) machine the user is left hanging for nearly a
minute while GDB builds a list of the 212405 places the user could
break on.  This is PR cli/11920.

PR cli/15548 proposes to abort building the completion list if it
grows too large, the theory being that nobody is going to scroll
through thousands of screens of completions to find the one they
want.  These three patches implement this.  The default limit is 200
completions, which the user can override with a new set/show option.

This version 2 series has been updated for the symtab rework Doug
recently pushed, and with Eli's suggested documentation changes.

Tested on RHEL6.5 x86_64, no regressions.

Is this ok to commit?

Thanks,
Gary

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2015-01-25 16:17 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-06 10:50 [PATCH 0/3 v2] Limit tab-completion result when list is large Gary Benson
2014-11-06 10:51 ` [PATCH 1/3 v2] Add expansion_notify callback to expand_symtabs_matching Gary Benson
2014-11-06 10:51 ` [PATCH 3/3 v2] Implement completion limiting Gary Benson
2014-11-06 16:28   ` Eli Zaretskii
2014-11-21 10:46     ` Gary Benson
2014-11-24  6:09   ` Doug Evans
2014-11-06 10:51 ` [PATCH 2/3 v2] Interleave completion list building with symbol table expansion Gary Benson
2014-11-27 13:16 [PATCH 0/3 v2] Abort completion when list becomes large Gary Benson
2014-11-27 13:16 ` [PATCH 3/3 v2] Implement completion limiting Gary Benson
2014-11-27 16:25   ` Eli Zaretskii
2014-12-05 23:54   ` Doug Evans
2014-12-10 12:22     ` Gary Benson
2014-12-10 16:25       ` Doug Evans
2015-01-03  2:09         ` Doug Evans
2015-01-07  8:44           ` Gary Benson
2015-01-09  1:29             ` Doug Evans
2015-01-10  2:32             ` Doug Evans
2015-01-10  9:23               ` Eli Zaretskii
2015-01-12 18:50                 ` Doug Evans
2015-01-15 15:39                   ` Gary Benson
2015-01-23  7:32                     ` Doug Evans
2015-01-23 10:59                       ` Eli Zaretskii
2015-01-23 16:38                         ` Doug Evans
2015-01-23 16:49                           ` Eli Zaretskii
2015-01-23 20:28                             ` Doug Evans
2015-01-24  1:55                               ` Eli Zaretskii
2015-01-24  8:50                                 ` Doug Evans
2015-01-24 14:12                                   ` Eli Zaretskii
2015-01-25 15:55                                     ` Doug Evans
2015-01-25 19:14                                       ` Eli Zaretskii

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).