Subj : Re: Not debugging? To : comp.programming,comp.lang.java.programmer,comp.lang.lisp From : Greg Menke Date : Wed Aug 24 2005 10:27 pm Patricia Shanahan writes: > CBFalconer wrote: > > Hartmann Schaffer wrote: > > The key issue for me is the round trip time to make a change in the > debug output, recompile, and run to the point of failure. If that takes > a few minutes, I have no problem using printouts. > > On the other hand, I have been faced with problems in unfamiliar > programs that took several hours from starting the run to first symptoms > of the problem. Once I was at a failure point, I wanted to squeeze every > scrap of data I could. > > An interactive debugger allows you to ask questions you didn't know you > wanted to ask until you saw the answer to another question. For example, > you can see which variable is incorrect at the failure point, look at > the source code to find the variables that affect it, and immediately > probe their values. OTOH, a debugger is a kludgy way of getting you something like a REPL environment when you reach a breakpoint or some kind of error. The fact that the best the debuggers can do is basic arithmetic with symbols speaks more to the limitations of the program's runtime situation than any particular interface virtues. An IDE is helpful in that state displays can be more complicated and remain useful- just try and set up & maintain a bunch of watchpoints in tty gdb ha ha ha. OTOH, sometimes its just faster to trap the segfault & probe around in a tty gdb than to fool around with getting an IDE tweaked just so. Its quite entertaining when debuggers start providing "advanced" features like unwinding execution and access to frames back up the stack. When you begin seriously learning Common Lisp it feels like you finally get rid of the debugger training wheels. Gregm .