Difference between revisions of "TMGIDE.m"

From VistApedia
Jump to: navigation, search
Line 24: Line 24:
 
  ;"
 
  ;"
 
  ;"------------------------------------------------------------
 
  ;"------------------------------------------------------------
  ;"------------------------------------------------------------
+
  ;"------------------------------------------------------------
 
    
 
    
 
   
 
   
Line 30: Line 30:
 
       set TMGScrWidth=70
 
       set TMGScrWidth=70
 
       set TMGScrHeight=10
 
       set TMGScrHeight=10
+
      set tpWatchLine=""
 +
 
 
       do SetGlobals^TMGTERM
 
       do SetGlobals^TMGTERM
       set TMGNlFGColor=TMGcWhite
+
        
      set TMGNlBGColor=TMGcBlack
 
      set TMGDbFGColor=TMGcBlack
 
      set TMGDbBFColor=TMGcWhite
 
 
      set ^TMP("TMGIDE",$J,"Normal Foreground Color")=TMGcBlack
 
      set ^TMP("TMGIDE",$J,"Normal Background Color")=TMGcWhite
 
      set ^TMP("TMGIDE",$J,"Debug Foreground Color")=TMGcWhite
 
      set ^TMP("TMGIDE",$J,"Debug Background Color")=TMGcBlack
 
 
 
 
       for i=1:1:80 write !
 
       for i=1:1:80 write !
 
       write !,"Welcome to the TMG debugging environment",!
 
       write !,"Welcome to the TMG debugging environment",!
Line 47: Line 39:
 
       set $ZTRAP="do ErrTrap^TMGTPSTP($ZPOS) break"
 
       set $ZTRAP="do ErrTrap^TMGTPSTP($ZPOS) break"
 
       set $ZSTATUS=""
 
       set $ZSTATUS=""
+
 
 
       do Prompt
 
       do Prompt
 
  Done
 
  Done
Line 54: Line 46:
 
   
 
   
 
  ;"-------------------------------------------------------------------
 
  ;"-------------------------------------------------------------------
 
+
 
  Prompt
 
  Prompt
 
       new Line
 
       new Line
 +
      do INITKB^XGF("*")  ;"set up keyboard input escape code processing
 +
     
 +
Ppt2     
 +
      ;"write !,"(^ to quit) IDE>"
 +
      ;"set Line=$$READ^XGF write !
 +
     
 
       read !,"(^ to quit) IDE>",Line,!
 
       read !,"(^ to quit) IDE>",Line,!
 
   
 
   
Line 67: Line 65:
 
       xecute Line
 
       xecute Line
 
       set $ZSTEP=""  ;"turn off step capture
 
       set $ZSTEP=""  ;"turn off step capture
       goto Prompt
+
       goto Ppt2
 
 
   
 
   
 +
;"-------------------------------------------------------------------
 +
       
 
  ShutDown
 
  ShutDown
      ;"do ShowCode("",80,15,1)
 
 
       do KillGlobals^TMGTERM
 
       do KillGlobals^TMGTERM
       kill TMGNlFGColor
+
     
       kill TMGNlBGColor
+
       kill TMGScrWidth
       kill TMGDbFGColor
+
       kill TMGScrHeight
       kill TMGDbBFColor
+
       kill tpWatchLine
   
+
       kill ^TMP("TMGIDE",$J,"MODULES")
 +
      do VTATRIB^TMGTERM(0)
 +
      do RESETKB^XGF  ;"turn off XGF escape key processing code.
 +
      write "Leaving TMG debugging environment. Goodbye.",!
 
       quit
 
       quit
 +
     
 +
;"-------------------------------------------------------------------
 
   
 
   
 
  BKPT
 
  BKPT
Line 85: Line 88:
 
         ZBREAK @Pos
 
         ZBREAK @Pos
 
         write "ZBREAK ",Pos,!
 
         write "ZBREAK ",Pos,!
+
       
 
         quit
 
         quit

Revision as of 03:40, 26 June 2005

;"------------------------------------------------------------
;"------------------------------------------------------------
;"
;" GT.M Debug Tracer
;"
;" K. Toppenberg
;" 4-13-2005
;" License: GPL Applies
;"
;"
;" This program will launch a shell for the TMG STEP TRAP debugger
;" It provides the user with a prompt, like this:
;"
;"      (^ to quit) IDE>
;"
;" Any valid M code may be entered here.  To use the tracing
;" ability, launch a function, like this:
;"
;"      (^ to quit) IDE>do ^MyFunction
;"
;"
;" Dependancies:
;"     Uses TMGTRSTP,TMGTERM
;"
;"------------------------------------------------------------
;"------------------------------------------------------------
 

Start
      set TMGScrWidth=70
      set TMGScrHeight=10
      set tpWatchLine=""
 
      do SetGlobals^TMGTERM
      
      for i=1:1:80 write !
      write !,"Welcome to the TMG debugging environment",!
      write "Enter any valid M command...",!
      set $ZTRAP="do ErrTrap^TMGTPSTP($ZPOS) break"
      set $ZSTATUS=""
 
      do Prompt
Done
      do ShutDown
      quit

;"-------------------------------------------------------------------

Prompt
      new Line
      do INITKB^XGF("*")  ;"set up keyboard input escape code processing
      
Ppt2       
      ;"write !,"(^ to quit) IDE>"
      ;"set Line=$$READ^XGF write !
      
      read !,"(^ to quit) IDE>",Line,!

      if Line="^" set $ZSTEP="" quit
      set $ZSTEP="N TMGTrap S TMGTrap=$$STEPTRAP^TMGTPSTP($ZPOS) zstep:(TMGTrap=1) into zstep:(TMGTrap=2) over zcontinue"
      ;set $ZSTEP="do STEPTRAP^TMGTPSTP($ZPOS) zstep into zcontinue"

      set TMGRunMode=1  ;"1=Step-by-step mode
      zstep into
      xecute Line
      set $ZSTEP=""  ;"turn off step capture
      goto Ppt2

;"-------------------------------------------------------------------
       
ShutDown
      do KillGlobals^TMGTERM
      
      kill TMGScrWidth
      kill TMGScrHeight
      kill tpWatchLine
      kill ^TMP("TMGIDE",$J,"MODULES")
      do VTATRIB^TMGTERM(0)
      do RESETKB^XGF  ;"turn off XGF escape key processing code.
      write "Leaving TMG debugging environment.  Goodbye.",! 
      quit
      
;"-------------------------------------------------------------------

BKPT
       read "Enter breakpoint (e.g. Label+8^MyFunct): ",Pos,!
       set Pos=Pos_":""n tmg s tmg=$$STEPTRAP^TMGTPSTP($ZPOS,1)"""
       ZBREAK @Pos
       write "ZBREAK ",Pos,!
       
       quit