TMGIDE.m: Difference between revisions
From VistApedia
Jump to navigationJump to search
No edit summary |
Added glossary link to Prompt~ |
||
| (6 intermediate revisions by 3 users not shown) | |||
| Line 10: | Line 10: | ||
;" | ;" | ||
;" This program will launch a shell for the TMG STEP TRAP debugger | ;" This program will launch a shell for the TMG STEP TRAP debugger | ||
;" It provides the user with a prompt, like this: | ;" It provides the user with a [[prompt~|Prompt]], like this: | ||
;" | ;" | ||
;" (^ to quit) IDE> | ;" (^ to quit) IDE> | ||
| Line 28: | Line 28: | ||
Start | 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~|Prompt]] | |||
Done | |||
do ShutDown | |||
quit | |||
;"------------------------------------------------------------------- | |||
[[Prompt~|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 | |||
read "(^ | write "ZBREAK ",Pos,! | ||
quit | quit | ||
Latest revision as of 02:24, 4 March 2012
;"------------------------------------------------------------ ;"------------------------------------------------------------ ;" ;" 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