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.
Rod