Difference between revisions of "TMGIDE.m"
From VistApedia
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 | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
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 | + | goto Ppt2 |
− | |||
+ | ;"------------------------------------------------------------------- | ||
+ | |||
ShutDown | ShutDown | ||
− | |||
do KillGlobals^TMGTERM | do KillGlobals^TMGTERM | ||
− | kill | + | |
− | kill | + | kill TMGScrWidth |
− | kill | + | kill TMGScrHeight |
− | kill | + | 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