gawk: Limitations
1
1 14.5 Limitations
1 ================
1
1 We hope you find the 'gawk' debugger useful and enjoyable to work with,
1 but as with any program, especially in its early releases, it still has
1 some limitations. A few that it's worth being aware of are:
1
1 * At this point, the debugger does not give a detailed explanation of
1 what you did wrong when you type in something it doesn't like.
1 Rather, it just responds 'syntax error'. When you do figure out
1 what your mistake was, though, you'll feel like a real guru.
1
11 * If you perused the dump of opcodes in ⇒Miscellaneous Debugger
Commands (or if you are already familiar with 'gawk' internals),
1 you will realize that much of the internal manipulation of data in
1 'gawk', as in many interpreters, is done on a stack. 'Op_push',
1 'Op_pop', and the like are the "bread and butter" of most 'gawk'
1 code.
1
1 Unfortunately, as of now, the 'gawk' debugger does not allow you to
1 examine the stack's contents. That is, the intermediate results of
1 expression evaluation are on the stack, but cannot be printed.
1 Rather, only variables that are defined in the program can be
1 printed. Of course, a workaround for this is to use more explicit
1 variables at the debugging stage and then change back to obscure,
1 perhaps more optimal code later.
1
1 * There is no way to look "inside" the process of compiling regular
1 expressions to see if you got it right. As an 'awk' programmer,
1 you are expected to know the meaning of '/[^[:alnum:][:blank:]]/'.
1
1 * The 'gawk' debugger is designed to be used by running a program
1 (with all its parameters) on the command line, as described in
1 ⇒Debugger Invocation. There is no way (as of now) to attach
1 or "break into" a running program. This seems reasonable for a
1 language that is used mainly for quickly executing, short programs.
1
1 * The 'gawk' debugger only accepts source code supplied with the '-f'
1 option.
1