Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   libexpect    ( 3 )

библиотека программных диалогов с интерактивными программами (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.