[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
| Title: | DEC Pascal Notes | 
| Notice: | See note 1 for kits.  Bug reports to CLT::DEC_PASCAL_BUGS | 
| Moderator: | TLE::REAGAN | 
|  | 
| Created: | Sat Jan 25 1986 | 
| Last Modified: | Tue Jun 03 1997 | 
| Last Successful Update: | Fri Jun 06 1997 | 
| Number of topics: | 2675 | 
| Total number of notes: | 13409 | 
2656.0. "DEBUG VAX V7.0 STEP w PASCAL does not work" by CSC32::D_SANFORD () Fri Feb 07 1997 14:18
  John,
    
    Just a heads up, this is simular to the previous problem, but I
    believe this to be a debugger problem.
    
    We have gotten no updates on our IMPT priority 2 CLD... hope we'll
    hear something today.
    
    -drew
    
           <<< TURRIS::DISK$NOTES_PACK:[NOTES$LIBRARY]DEBUG.NOTE;4 >>>
                                   -< DEBUG >-
================================================================================
Note 1835.0        DEBUG VAX V7.0 STEP w PASCAL does not work         No replies
CSC32::D_SANFORD                                     58 lines   7-FEB-1997 13:56
--------------------------------------------------------------------------------
    OpenVMS VAX DEBUG Version V7.0-000
    OpenVMS VAX V7.0
    Simular to problem reported in TURRIS::DEBUG, note 1829.*.
    In this case if we initialize a variable and then make a function
    call, the debugger will no longer be able to STEP.
    If you issue "DBG> SET BREAK %LINE 14" it will break at this 
    line; otherwise it just runs until the end of the application on
    the STEP.
    If you feel this is the same as the previous problem please yet
    me know; otherwise I'll need to raise another priority 2 CLD as
    the workaround is not sufficient.
    Regards, Drew Sanford
    Customer Support Center
    RE: C970121-4247
program test_debug (input,output);
var
   line : varying [255] of char;
begin
{  If you remove the next line the debugger will not fail, not sure  }
{  what affect 'line := 'testing'' has.  But after this assignment   }
{  if you execute any function the debugger will just continue as if }
{  you entered DBG> GO                                               }
   line := 'testing';
   writeln ('Use DBG> STEP');
   writeln (substr(line,1,7));
   writeln ('You should not see this line without a DBG> STEP');
end.
$ run test
         OpenVMS VAX DEBUG Version V7.0-000
%DEBUG-I-INITIAL, Language: PASCAL, Module: TEST_DEBUG
DBG> s
stepped to TEST_DEBUG\%LINE 11
    11:    line := 'testing';
DBG> s
stepped to TEST_DEBUG\%LINE 12
    12:    writeln ('Use DBG> STEP');
DBG> s
Use DBG> STEP
stepped to TEST_DEBUG\%LINE 13
    13:    writeln (substr(line,1,7));
DBG> s
testing
You should not see this line without a DBG> STEP
%DEBUG-I-EXITSTATUS, is '%SYSTEM-S-NORMAL, normal successful completion'
DBG>  Exit
| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 2656.1 |  | TLE::REAGAN | All of this chaos makes perfect sense | Fri Feb 07 1997 14:40 | 17 | 
|  |     I had a phone discussion with a debugger developer the other day.
    
    It seems they "improved" how they do STEP by looking forward
    in the instruction stream and doing something or other with
    breakpoints.  The debugger folks didn't know (or remember)
    that Pascal uses a
    
    	HALT
    	.BYTE xxx
    
    sequence to signal run-time errors from generated code.  This
    sequence screwed them up and crashed out the debugger.  Now that 
    they know about it, he said they'd have to "adjust" their code
    to deal with situations like this (you can also do such instruction
    sequences in MACRO as well).  
    
    				-John
 |