company logo

Debug templates

In order to debug templates, OSI_DEBUG option has to be set to YES (or true). Since templates are executed similar to OSI functions, one may also set break points in the template code. Since breakpoints are code, a save way of defining a break point is using embedded code (see. Since breakpoints are allowed in statements, only, one may add embedded code containing any stupid statement and setting a break point for this statement (see example below).

Debugging templates may become a little bit complicate, since errors are detected in the function generated from the template. Hence, the line numbers will not fit exactly to the template position. Even templates containing big amount of expression code may cause problems.

Those can be solved partially by viewing the system output, since when detecting an error in the generated code, OSI automatically writes the generated code to the system output.

$template void fragment$

here we will show the function result from ${# 1;}$$myFunction(ph)$.