Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!tut.cis.ohio-state.edu!purdue!bu.edu!husc6!bunny!jwg1 From: jwg1@gte.com (James W. Gish) Newsgroups: comp.lang.eiffel Subject: Re: Eiffel Problems, Problems, Problems Message-ID: Date: 27 Mar 90 22:09:28 GMT References: <2983@goanna.oz.au> <5983@star.cs.vu.nl> <476@argus.mrcu> Sender: jwg1@GTE.COM Organization: GTE Laboratories Incorporated, Waltham, MA Lines: 26 >In article <476@argus.mrcu> paj@mrcu (Paul Johnson) writes: > I use the viewer, but it is not satisfactory. The lack of breakpoints > is a pain, but the inclusion of assertions largely makes up for it: > the assertions trap a problem before it goes too far, and rather than > putting in traditional breakpoints to try to track a problem back to > its cause, I usually put in a group of extra assertions instead. > These do not then need to be taken out (unless they are VERY slow to > evaluate) until the software is delivered. > I also use the viewer, heavily in fact. However, I don't feel that the inclusion of assertions makes up for the lack of breakpoints. This assumes that you can anticipate and provide coverage for a high percentage of potential bugs. If you could anticipate all bugs, you wouldn't need a debugger. However, I agree that assertions help. Of course, the other use for a debugger is as an aid in program understanding, as a dynamic analyzer. In this situation, you don't want to have to add assertions; you really need breakpoints, tracepoints and more control over execution than the viewer provides. The viewer is useful, but a good debugger is what is really needed. -- Jim Gish GTE Laboratories, Inc., Waltham, MA CSNET: jgish@gte.com UUCP: ..!harvard!bunny!jwg1