VMS Patch = VSI X86VMS VMS921X_UPDATE V1.0
Pascal Compiler Version = VSI Pascal x86-64 X6.3-139 (GEM 50X8H) on OpenVMS x86_64 V9.2-1
Couple of issues in Debugger using Pascal.
1) I can set a break point but execution does not break at that point.
2) I can set and read modular global variables but if I attempt to exam the variables in the debugger all it says is they have been optimized away.
For a simple test case, I created a program main and a module routine. Main has two external calls to routine. A set and get routine. Routine has the set and get routine. I did declare the global variable in routine as [volatile], simply because in our production code, it is volatile due to AST completion routines that can alter the value. Both .pas files were compiled with $pas/noopt/debug and the link was done as $link/debug main,routines
Main Code is:
Code: Select all
program main (input, output); [external] procedure rt_set_value( value : integer); external; [external] procedure rt_get_value( var value : integer); external; var value : integer := 5; begin rt_set_value ( value ); rt_get_value ( value ); writeln ("value = ", value:1); end. the routine code is: module routines(input, output); var gv_value : [volatile] integer; [global] procedure rt_set_value( value : integer ); begin gv_value := value; end; [global] procedure rt_get_value( var value : integer ); begin value := gv_value; end; end.
2) If you step into rt_set_value() and try to exam the global value gv_value the compiler will inform you it has been optimized away.