Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site celerity.UUCP Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!ittatc!dcdwest!sdcsvax!celerity!ps From: ps@celerity.UUCP (Pat Shanahan) Newsgroups: net.unix-wizards,net.lang.c Subject: Re: I HATE DBX! I HATE DBX! Message-ID: <411@celerity.UUCP> Date: Tue, 11-Mar-86 16:10:38 EST Article-I.D.: celerity.411 Posted: Tue Mar 11 16:10:38 1986 Date-Received: Fri, 14-Mar-86 04:41:12 EST References: <4473@think.ARPA> <5895@allegra.UUCP> <169@gsg.UUCP> <1700@utah-gr.UUCP> Reply-To: ps@celerity.UUCP (Pat Shanahan) Organization: Celerity Computing, San Diego, Ca. Lines: 36 Xref: watmath net.unix-wizards:17166 net.lang.c:8129 In article <1700@utah-gr.UUCP> thomas@utah-gr.UUCP (Spencer W. Thomas) writes: >In article <169@gsg.UUCP> kathy@gsg.UUCP (Kathryn Smith) writes: >> >After running some tests then recomiling the >>application to use SDB instead, it turned out that DBX requires somewhere >>between 10 and 15 times the memory resources that the same program compiled with >>SDB requires. > >The reason for this is that dbx knows so much more about your program. >Basically, you are seeing the difference in the symbol table sizes >between sdb and dbx. Dbx also has all the type information compiled >into the symbol table. .... >-- >=Spencer ({ihnp4,decvax}!utah-cs!thomas, thomas@utah-cs.ARPA) Since Celerity systems are used to run some large programs, this was a real problem for us and some of our users. It is not really desirable to require the swap space to be many times the size of the largest program that is ever going to run on the system in order to debug it. Even with a big swap space the time for dbx to read the symbol table and build its internal table may be prohibitive. On the other hand dbx's very detailed information does help with debug. The solution that we have implemented for our version of dbx is to collect a very limited amount of data about each compilation unit in the program during the initial load. Each time the user enters some command that relates to a new compilation unit, dbx reads in the full information about that compilation unit. In practice, very big programs are usually divided into a large number of reasonable size compilation units. During a single debug session the user will only reference a few of them. -- ps (Pat Shanahan) uucp : {decvax!ucbvax || ihnp4 || philabs}!sdcsvax!celerity!ps arpa : sdcsvax!celerity!ps@nosc