[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
The Debugger's Command Window
When using the Clipper debugger, it is often useful to use the command
window to evaluate expressions. Unfortunately, the expression evaluator in
the debugger relies on the Clipper macro subsystem to evaluate
expressions. For this reason, there are serious restrictions on the
complexity of expressions that can be evaluated. Here are some specific
restrictions that apply in the debugger's command window, along with
workarounds for them:
. Understandably, preprocessor translation cannot be handled. The
Class(y) double-colon (::) operator for message sends to self thus
cannot be used. Instead, when debugging inside a method, the self
variable should be used directly, as in expressions such as
? self:nTop.
. Only one message send can be handled in an expression. Expressions of
the form obj:msg1:msg2 will not evaluate. One workaround for this is
to use intermediate variables to store results, for example:
? tmp := obj:var1
? tmp:var2
This will result in a private variable named tmp being created. The
names of these intermediate variable should be chosen so as not to
conflict with variables in the application being debugged.
. Complexity of expressions is limited in other ways. For example, the
expressions of the form obj:arr[n] will not evaluate. Again, the
workaround for this is to use intermediate variables.
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson