Special variable and expression handlings

PowerServer Debugger watches the variable and expression results out of JavaScript code but not PowerBuilder code. This is the main difference with PowerBuilder Debugger. Despite the difference, the results shall be mostly the same as in PowerBuilder Debugger. If the results are different, there are two possible reasons:

  1. The deployment of the application contains an error. In this case, determine the cause of the error and correct the problem.

  2. PowerServer Debugger handles some variables and expressions differently from PowerBuilder Debugger. Such differences are introduced below. Be aware of them, so not be false alarmed and conduct unnecessary complex examination work.

PowerServer Debugger does NOT support the following when examining variables:

  • Expanding the values of ClassDefinition, PowerObject, and Any variables;

  • Expanding the runtime values of System variables. Instead, it just expands the inherent properties of such variables.

    For example, with a Window type variable w_1, PowerBuilder Debugger shows all the values of all the controls and variables contained in w_1, while PowerServer Debugger only shows the values of the Window properties of for w_1.

PowerServer Debugger gives different results when evaluating the following expressions:

  • It reports errors for expressions that contain unsupported code;

  • If the same expression is added multiple times -- in different context -- into the Watch, PowerServer Debugger regards it as one expression, and evaluates its value according to the context of the breakpoint;

  • PowerServer Debugger does not validate expressions. Therefore, if an expression does not pass validation in PowerBuilder, PowerBuilder Debugger does not give evaluation results, however PowerServer Debugger may give a result, sometimes even an incomprehensible result, such as "[object]+3" for the expression "this + 3".

  • If two expressions are interconnected, because the evaluation results of the expressions are dependent on the orders they are executed, and the ordering may follow different rules in PowerBuilder Debugger and PowerServer Debugger, PowerServer Debugger may produce different results from PowerBuilder Debugger.