библиотека программных диалогов с интерактивными программами (programmed dialogue library with interactive programs)
Отладка (Debugging)
While I consider the library to be easy to use, I think that the
standalone expect program is much, much, easier to use than
working with the C compiler and its usual edit, compile, debug
cycle. Unlike typical C programs, most of the debugging isn't
getting the C compiler to accept your programs - rather, it is
getting the dialogue correct. Also, translating scripts from
expect to C is usually not necessary. For example, the speed of
interactive dialogues is virtually never an issue. So please try
the standalone 'expect' program first. I suspect it is a more
appropriate solution for most people than the library.
Nonetheless, if you feel compelled to debug in C, here are some
tools to help you.
extern int exp_is_debugging;
extern FILE *exp_debugfile;
While expect dialogues seem very intuitive, trying to codify them
in a program can reveal many surprises in a program's interface.
Therefore a variety of debugging aids are available. They are
controlled by the above variables, all 0 by default.
Debugging information internal to expect
is sent to stderr when
exp_is_debugging
is non-zero. The debugging information includes
every character received, and every attempt made to match the
current input against the patterns. In addition, non-printable
characters are translated to a printable form. For example, a
control-C appears as a caret followed by a C. If exp_logfile
is
non-zero, this information is also written to that stream.
If exp_debugfile
is non-zero, all normal and debugging
information is written to that stream, regardless of the value of
exp_is_debugging
.