home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / gnu / gdb / bug / 909 < prev    next >
Encoding:
Text File  |  1992-07-28  |  2.7 KB  |  67 lines

  1. Newsgroups: gnu.gdb.bug
  2. Path: sparky!uunet!darwin.sura.net!mips!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!twinsun.COM!eggert
  3. From: eggert@twinsun.COM (Paul Eggert)
  4. Subject: GDB 4.6 is slower than molasses on large C++ programs
  5. Message-ID: <9207280221.AA28594@farside.twinsun.com>
  6. Sender: gnulists@ai.mit.edu
  7. Organization: GNUs Not Usenet
  8. Distribution: gnu
  9. Date: Tue, 28 Jul 1992 02:21:32 GMT
  10. Approved: bug-gdb@prep.ai.mit.edu
  11. Lines: 54
  12.  
  13. GDB 4.6 is very slow when debugging large C++ problems (sparc, SunOS 4.1.2,
  14. with GCC 2.2.2).  Most of the problems seem to be related to lookup_symbol's
  15. disconcerting habit of sequentially demangling every symbol in the program
  16. whenever it can't look something up.  Perhaps this behavior could be switched
  17. off -- normally one doesn't want GDB to pause for 30 seconds simply to tell
  18. you that you misspelled a variable.
  19.  
  20. Here's one fix that helped somewhat.  GDB internally converts expressions like
  21. `this->f' to `$this->f'; but the `$' causes it to go through its painfully
  22. slow sequential search for demangled symbols, because lookup_symbol thinks
  23. `$this' is from a quoted name string.  Here's a workaround; but more work is
  24. needed.
  25.  
  26. ===================================================================
  27. RCS file: main.c,v
  28. retrieving revision 4.6
  29. diff -c -r4.6 main.c
  30. *** main.c    1992/07/14 07:34:27    4.6
  31. --- main.c    1992/07/28 00:02:51
  32. ***************
  33. *** 1054,1060 ****
  34.   
  35.   /* Variables which are necessary for fancy command line editing.  */
  36.   char *gdb_completer_word_break_characters =
  37. !   " \t\n!@#$%^&*()+=|~`}{[]\"';:?/>.<,-";
  38.   
  39.   /* When completing on command names, we remove '-' from the list of
  40.      word break characters, since we use it in command names.  If the
  41. --- 1054,1060 ----
  42.   
  43.   /* Variables which are necessary for fancy command line editing.  */
  44.   char *gdb_completer_word_break_characters =
  45. !   " \t\n!@#%^&*()+=|~`}{[]\"';:?/>.<,-";
  46.   
  47.   /* When completing on command names, we remove '-' from the list of
  48.      word break characters, since we use it in command names.  If the
  49. ***************
  50. *** 1062,1068 ****
  51.      it thinks that the string needs to be quoted and automatically supplies
  52.      a leading quote. */
  53.   char *gdb_completer_command_word_break_characters =
  54. !   " \t\n!@#$%^&*()+=|~`}{[]\"';:?/>.<,";
  55.   
  56.   /* Characters that can be used to quote completion strings.  Note that we
  57.      can't include '"' because the gdb C parser treats such quoted sequences
  58. --- 1062,1068 ----
  59.      it thinks that the string needs to be quoted and automatically supplies
  60.      a leading quote. */
  61.   char *gdb_completer_command_word_break_characters =
  62. !   " \t\n!@#%^&*()+=|~`}{[]\"';:?/>.<,";
  63.   
  64.   /* Characters that can be used to quote completion strings.  Note that we
  65.      can't include '"' because the gdb C parser treats such quoted sequences
  66.  
  67.