Norman Matloff's Debugging Tutorial Center (original) (raw)
Professor Norm Matloff
Dept. of Computer Science
University of California at Davis
Davis, CA 95616
(Please mail any questions to Norm Matloff.)
Why waste huge amounts of time debugging? Do yourself a favor and learn to debug like a professional. In this Web page I have some resources which hopefully will be useful to you in that regard.
- Our featured item -- a slide show!! Click here to download. bNote that the point is NOT the technical details of DDD, but rather the general principles of debugging.
- An introduction to the secret art of debugging. Shows you the basic principles, leading you step-by-step in applying those principles to debugging two sample programs.
- Click here if you wish to download the sample programs Ins.c,InsLotsOfErrors.c (buggy version of Ins.c) and Lnk.c.
- Information on some specific debugging tools:
- My selection criteria:
* Free.
* Advanced features (e.g. display of linked data structures).
* I prefer standalone debuggers, not integrated development environments (IDEs) --- I want to use my own favorite text editor -- but these IDEs are good for those who prefer IDEs. - Standalone debuggers:
* DDD: For C/C++/Java (version 3.3)/perl/etc. UNIX. Featured in the slide show cited above. Detailed information here..
* GVD: For C/C++. UNIX/Windows. Very much like DDD, but trimmer, faster-loading. Detailed information here.
* JSwat: Excellent debugger for Java. Works on most platforms. Can be used as standalone or with the JIPE IDE (see below). Detailed information here. - IDEs: KDevelop, Eclipse, NetBeans etc.
- Good use of a powerful text editor can speed up the development/debugging process. Links:
* My tutorial on general editing tips for programmers.
* Vim: Very advanced extension of vi. Very popular. Multi-platform. Free. Detailed information.
* Emacs: A classic. Highly programmable. Multi-platform. Free. Detailed information.
* JEdit: Beautiful product. Great features. For C/C++/Java/etc. Multi-platform. Free. Detailed information. - Links related to debugging.
- My selection criteria:
Other software Web sites by Norm Matloff:
- Professor Matloff's Unix/C tutorials.
- His Java tutorial.
- Dr. Matloff's beginner's guide to installing and using Linux.
- His "Extremely Quick and Simple Introduction to the Vi Text editor," and his introductions to the elvis and vim extensions to vi. The latter are much better than ordinary vi (and far, far better than pico). X11 mouse capability; subwindows (even on nongraphics terminals); infinite undo; paragraph formatting and so on.
- Norman Matloff's guide to fast debugging! See also his text-editing tips designed especially forprogrammers.
- Professor Matloff's LaTeX tutorial and resource page, and his tutorial on LyX, a GUI interface to LaTeX.
- Dr. Matloff's introduction to the mutt e-mail utility. Don't use pine! It was designed for people who are afraid of computers, not for computer experts.
- Norm Matloff's Chinese-language software page.