Starting dgawk is exactly like running awk. The file(s) containing the program and any supporting code are given on the command line as arguments to one or more -f options. (dgawk is not designed to debug command-line programs, only programs contained in files.) In our case, we call dgawk like this:
$ dgawk -f getopt.awk -f join.awk -f uniq.awk inputfile
where both getopt.awk and uniq.awk are in $AWKPATH.
(Experienced users of GDB or similar debuggers should note that
this syntax is slightly different from what they are used to.
With dgawk, the arguments for running the program are given
in the command line to the debugger rather than as part of the
command at the debugger prompt.)
Instead of immediately running the program on inputfile, as gawk would ordinarily do, dgawk merely loads all the program source files, compiles them internally, and then gives us a prompt:
from which we can issue commands to the debugger. At this point, no code has been executed.