manpagez: man pages & more
info gawk
Home | html | info | man

File: gawk.info,  Node: Debugging Concepts,  Next: Debugging_Terms.php">Debugging Terms,  Up: Debugging

14.1.1 Debugging in General
---------------------------

(If you have used debuggers in other languages, you may want to skip
ahead to *note Awk Debugging::.)

   Of course, a debugging program cannot remove bugs for you, because it
has no way of knowing what you or your users consider a "bug" versus a
"feature."  (Sometimes, we humans have a hard time with this ourselves.)
In that case, what can you expect from such a tool?  The answer to that
depends on the language being debugged, but in general, you can expect
at least the following:

   * The ability to watch a program execute its instructions one by one,
     giving you, the programmer, the opportunity to think about what is
     happening on a time scale of seconds, minutes, or hours, rather
     than the nanosecond time scale at which the code usually runs.

   * The opportunity to not only passively observe the operation of your
     program, but to control it and try different paths of execution,
     without having to change your source files.

   * The chance to see the values of data in the program at any point in
     execution, and also to change that data on the fly, to see how that
     affects what happens afterward.  (This often includes the ability
     to look at internal data structures besides the variables you
     actually defined in your code.)

   * The ability to obtain additional information about your program's
     state or even its internal structure.

   All of these tools provide a great amount of help in using your own
skills and understanding of the goals of your program to find where it
is going wrong (or, for that matter, to better comprehend a perfectly
functional program that you or someone else wrote).

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.