This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
symbol table architecture problems
- To: gdb at sourceware dot cygnus dot com
- Subject: symbol table architecture problems
- From: Jonyer Otto <pici at flatline dot koli dot uni-miskolc dot hu>
- Date: Wed, 5 Jan 2000 23:14:33 +0100 (CET)
Helo!
Last week I tried to debug my application which uses a lot instantations
of lot of templates, so creating a lot^2 of symbols.
I know that it is a design bug, but I cannot change it because we need
real-time support and I may not make bold to turn them to virtual base classes.
My problem is that gdb processes this symbol list so slow because its primitive
list architecture. It uses linked list of symbols so insertation and search needs
O(n) operation or something like that.
It took 30 minutes to load all my debugging symbols and tell me where it dumped
core. During waiting I was 'ltrace -p <pid>'-ing on gdb and the 93% of the calls
were str?cmp().
I hope someone knows its internals good enough to tell me if it is a hard job
to replace this linked list architecture with something more effective for
example hash map or some tree container. I think it is worth to rewrite it.
If no one else wants I can do it as my diplom work :-))))
Pici