Vous êtes sur la page 1sur 15

TEMENOS T24

Debugging T24 Server 'How To' Guide


User Guide
Amendment History:
Revision Date Amended Name Description
Draft July 2006 Alex Leggett nitial version
!"! January 200# $ony %orter &ro'ser de(ug section
!"2 )e(ruary 200# Dave *earing
Add +&A,- environment
varia(le setting and
additional example for .
varia(les"
No part of t/is document may (e reproduced or transmitted in any form or (y any means0
electronic or mec/anical0 for any purpose0 'it/out t/e express 'ritten permission of $-1-N2, Holdings N3"
4opyrig/t 2005 $-1-N2, Holdings N3" All rig/ts reserved"
De(ugging $26 ,erver 7Ho' $o7 *uide
Table of Contents
$-1-N2, $26 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" !
De(ugging $26 ,erver 7Ho' $o7 *uide """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" !
8ser *uide """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" !
-xecutive ,ummary """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 9
,upport """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 9
De(ugging 2ptions """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 6
8sing t/e De(ugger in $26 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" #
8seful RAD De(ugger 4ommands """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" !!
$-1-N2, $26 8ser *uide
%age 2 of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
Ee!utive Su""ar#
$/is document gives a (rief introduction to t/e met/ods '/ic/ can (e used to trac: do'n logical and
data;related errors in T24" $/is mainly concerns t/e use of t/e <RAD De(ugger=0 a command;line tool
used for de(ugging +&A,- routines at runtime> and 3isual De(ugger0 '/ic/ is (ased on t/e RAD
De(ugger"
$/e use of ,-A$0 J2&"$1-, and ot/er useful files are also discussed /ere"
Su$$ort
$ec/nical ssues 'it/ RAD De(ugger ? eg commands not 'or:ing ? consult +&A,- support
$ec/nical ssues 'it/ 3isual De(ugger and all ot/er issues ? eg not displaying source code ? c/ec:
$$, and create ,ervice Report as necessary
$-1-N2, $26 8ser *uide
%age 9 of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
Debugging O$tions
$/e approac/es ta:en to trac: do'n errors in an application can vary almost as muc/ as t/e types of
pro(lem found" Ho'ever0 some of t/e most useful general approac/es are given /ere"
@/ile it may (e tempting sometimes to start from t/e (eginning of t/e application and step t/roug/ t/e
code line (y line0 t/is can (e a time;consuming and frustrating approac/" n many cases0 it 'ill lead to
t/e de(ugger (ecoming out of step 'it/ t/e source code after some time due to t/e large num(er of
called routines in T24 and t/e necessity of compiling routines in your account in order to (e a(le to
de(ug t/em" T24 8pgrades deliver t/e o(+ect code in pre;compiled li(raries <glo(us(in= and
<glo(usli(=0 and unless t/ese are recompiled t/e RAD de(ugger can sometimes lose trac: of '/ic/
line in t/e source code matc/es t/e o(+ect code (eing executed"
A (etter approac/ is to try to identify t/e li:ely areas t/at could (e causing t/e pro(lem0 and to loo: at
t/e state of all relevant varia(les" $/is could (e done eit/er (y manual intervention using a de(ugger
or (y adding de(ugging code in '/ic/ data is 'ritten to a log file" $/is is (est done using a
straig/tfor'ard +&A,- <@R$-= statement0 rat/er t/an calling )"@R$- as you are not t/en su(+ect to
t/e vagaries of cac/ing and 'ill t/erefore (e guaranteed to see t/e current data appearing on file no'"
2nce analysis of t/e data /as (een carried out0 it 'ill still often (e necessary to loo: at t/e seAuence
of code execution via a de(ugger Beit/er t/e RAD de(ugger or 3isual De(uggerC" $/e 'ay t/is is
used 'it/in T24 depends on '/at you are trying to de(ug"
$-1-N2, $26 8ser *uide
%age 6 of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
%inding t&e $roble"
f t/e pro(lem is /appening during validation of record entry0 t/en t/e (est place to start to loo: is
during t/e 4H-4D")-LD, andEor 4R2,,3AL stages of processing" $/e diagram (elo' s/o's t/e
process flo' for t/e standard T24 $emplate:
-nter Application
Define %arameters
Just %arametersF
Call Matrix Alter
4/ec: D
Call Function Display
4/ec: )unction
Read Record
nitialise
Call Matrix Update
$erminator
1ain %rogram Loop
is 1essage 7R-$7
s 1essage Repeat
s )unction 7-7 or 7L7
Ne' )unctionF
1ain %rogram Loop
4/ec: Reversal
4/ec: Delete
ncrement )ield %osition
4/ec: )ields
Process Display
4/ec: Record
f )unction G 7D7 s 1essage G 73AL7
Has 1essage (een set
nput 1odeF
$erminator
f )unction G 7R7
&efore Aut/ @rite
Call Auth Write
After Aut/ @rite
Aut/ 4ross 3al
s 1essage G 7A8$7
No
Hes
Hes
No
No
Hes
No
No
Hes
Hes
s 1essage G I-RR2RI
Hes
No
Hes
No
Hes
No
Hes
Hes
Hes
)ield Navigation Loop
)ield Navigation Loop
Get Function/Record ID
Field Input Field Display
1esagge Loop
1esagge Loop
Hes
No
No
4ross 3al
&efore 8nAut/ @rite
Call UnAuth Write
After 8nAut/ @rite
$emplateE*2,8&
External Suroutine
2verrides
N2
Figure 1 Flow-Chart showing Execution of the T24 Template
Note t/at t/ere are some older applications 'it/in T24 t/at do not follo' exactly t/e same logic" $/ey
also may not /ave t/e )-LD"D-)N$2N,0 4H-4D")-LD,0 4R2,,3AL or 23-RRD-,
functionality separated into separate su(routines"
f you are not sure '/at is /appening0 and T24 appears to </ang= t/en it may (e useful to use t/e ,py
,ession on T24 Dev,tudio to examine t/e last reAuest and response as a starting point"
Also0 al'ays c/ec: to ma:e sure t/at t/e o(+ect code (eing executed (elongs to t/e source code you
$HND /as (een compiled" n order to c/ec: '/at is (eing run0 use t/e <+s/o'= command" )or
instance0 to see '/at version of )J"4H-4D")-LD, is running0 enter:
jshow c FX.CHECK.FIELDS
$-1-N2, $26 8ser *uide
%age 5 of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
%ro(lems 'it/ 3ersions are often due to A%s attac/ed to t/e 3ersion 'it/in t/e follo'ing fields:
AUT.NEW.CONTENT ? Routine to automate field entry
VALIDATION.RTN ? Routine to validate a field
INPUT"ROUTINE ? Routine run on commit of record0 (efore file 'rites Bpre;aut/orisationC
AUTH"ROUTINE ? Routine run on aut/orisation of record
ID"RTN ? Routine to validate item;id
CHECK"REC"RTN ? Routine to control field attri(utes
AFTER"UNAU"RTN ? Routine run on commit of record0 after file 'rites Bpre;aut/orisationC
BEFORE"AUTH"RTN ? Routine run on aut/orisation of record0 (efore file 'rites
WEB"VAL"RTN ? Java -&"A% record routine to validate on @e( ,erver
%ro(lems 'it/ enAuiries are usually due to A%s attac/ed to t/e enAuiry" $/e fields containing t/ese
are:
BUILD.ROUTINE ? t/e routine '/ic/ (uilds t/e enAuiry data
ENQUIRY.NAME ? t/e drilldo'n
CONVERSION B'/en field content prefaced 'it/ <K=C ? post;processing of ra' data from file
Note t/at t/ere may also (e ;Descriptors in t/e ,tandard ,election record0 '/ic/ invo:e +&A,-
routines"
$-1-N2, $26 8ser *uide
%age 6 of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
Using t&e Debugger in T24
De(ugging Applications in T24 is fairly straig/tfor'ard0 and can (e done using eit/er t/e 3isual
De(ugger or t/e RAD de(ugger"
f you are de(ugging <4lassic=0 it is simply a matter of setting a D-&8* statement '/erever it is
reAuired and t/en 'aiting until you /it it" Hou can also0 of course press L4trlM4N to invo:e t/e
de(ugger at any time" De(ugging standard T24 using (ro'ser0 /o'ever0 reAuires a little more initial
'or:"
Setting u$ 'isual Debugger
n order to use 3isual De(ugger0 you 'ill need to /ave installed T24 $ool&ox and set it up correctly
Bsee t/e T24 ,etup0 T24 $ool&ox and T24 Dev,tudio <Ho' $o= *uidesC"
f $4,erver /as (een running since (efore t/e D-&8* statement 'as inserted into t/e code and t/e
code compiled0 it s/ould (e <reset= to ensure t/at it pic:s up t/e latest version of t/e o(+ect code" $/e
3isual De(ugger s/ould (e started (efore t/e application is launc/ed0 so t/at it is listening (efore t/e
D-&8* statement is /it:
Figure 2 Visual Debugger waiting for a DEB! con"ition
$-1-N2, $26 8ser *uide
%age # of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
Setting u$ a Debugger Session
f you 'ould prefer to use t/e RAD De(ugger rat/er t/an t/e 3isual De(ugger0 you 'ill need to set up
a $-LN-$ session '/ic/ points to t/e de(ugger port" Hou must also /ave t/e follo'ing environment
varia(le set in your unix profile0
export J&A,-OD-&8*O%%-G!
As 'it/ 3isual De(ugger0 you 'ill need to <reset= t/e $4,erver after compiling t/e code containing t/e
D-&8* statement0 ot/er'ise $4,erver 'ill not see it"
$/e $-LN-$ session s/ould (e configured so t/at t/e ,erver is t/e same as t/e server on '/ic/
$4,erver is running0 and t/e port num(er matc/es t/e de(ugger port" $/e de(ugger port is displayed
'/en $4,erver starts up:

Starting deamons ...
- Admin Console started on ort ! "#$%#
- De&'gger deamon started on ort ! "#$%(
- S) deamon started on ort ! "#$%*
- +elnet deamon started on ort ! "#$%,
n t/is case0 since $4,erver 'as started up on Dev;%series!0 all t/at needs to (e done is to create a
ne' $-LN-$ session0 pointing to Dev;%series! port num(er 50#P2"
f t/e $-LN-$ session is correctly set up and pointing to t/e de(ugger port0 it s/ould loo: somet/ing
li:e t/is:
Figure # Debugger $ession
$-1-N2, $26 8ser *uide
%age P of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
Debugging (obs in t&e Close of )usiness
$/e 4lose of &usiness processing in T24 can eit/er (e run automatically or in de(ug mode
Bsometimes referred to as <interactive mode=C" ,ee t/e 42& <Ho' $o= *uide for furt/er information"
n order to de(ug 4lose of &usiness it must (e run 42& in de(ug mode0 'it/ a limited num(er of
agents set during t/e de(ugging process" Note t/at t/is can (e done (y setting t/e WORK.PROFILE
field of t/e TSA.SERVICE COB record to t/e preferred TSA.WORKLOAD.PROFILE:
Figure 4 Changing the number of agents while C%B is running
Note t/at once a D-&8* statement is /it0 t/e output of t/e RAD de(ugger Band t/e inputC 'ill /appen
in t/e 'indo' of '/ic/ever t,ABsC /it t/e D-&8* statement" $/e t,1 'ill also declare t/e agent to
(e <dead= after a certain time and 'ill :eep prompting you to start up anot/er agent" 2(viously if you
are still de(ugging0 t/at agent is still active0 and starting up anot/er agent to pic: up its t/read may
confuse t/e issueQ
$-1-N2, $26 8ser *uide
%age R of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
Debugging )rowser *elated +ssues
Due to issues 'it/ t/e 3isual De(ugger0 t/is is not recommended for general use (y t/e (ro'ser
team" 8se instead a Reflections session on t/e de(ug port0 as s/o'n in t/e ,etting up a De(ugger
,ession" As soon as a de(ug statement is /it in t/e &ro'ser0 a de(ug prompt 'ill (e displayed in t/e
Reflections session" &e a'are t/at you can=t (ac:space or use your cursor :eys ? so (e careful of
starting 'it/ t/e letter <c= (y accident" Also '/en de(ugging using t/is met/od t/e first 2 prompts in t/e
telnet session 'ill not 'or:0 see (elo'0 so /it return t'ice on initial entry to t/e de(ugger"
Temenos Connecto BASIC De!"##e V$.%.&'$(
)*e!"##est+t,
DEBU- st+tement seen
So"ce c.+n#e* to
/sto+#e$/#0o!"s.+cco"nts/#0o!"s.+cc.$/*+12*.#e+2n#/*#*e1!/*#*e1!."n/BP/REPO
34&5 DEBU-
6BASE *e!"##e7,W
89W
:: 89W 77 comm+n* 2s not +1+20+!0e
6BASE *e!"##e7,W
W
:: W 77 comm+n* 2s not +1+20+!0e
6BASE *e!"##e7,W
W
34&(
34&; <77777777777777777777777777777777777777777777777777777777777777777777777
34&4 CHECK.RECORD=
34&> < V+02*+t2on +n* c.+n#es o? t.e Reco*. Set ERROR to $ 2? 2n eo.
34&5 DEBU-
34&@ IF R.NEWARP.RECORD.STATUSB C DIHLDD THEN E < CI'$33(;>4% s
34%3 -OSUB CLEAR.CHILD.TFN.IDS
34%$ END E < CI'$33(;>4% e
34%& IF R.NEWARP.CALCULATION.LINKB C DD THEN E< EN'$3333@;4 S
6BASE *e!"##e7,
$o see t/e J1L (eing passed to t/e (ro'ser0 put a D-&8* at t/e top of 2),"R-S8-,$"1ANA*-R
and vie' t/e $H-"1,* varia(le"
$-1-N2, $26 8ser *uide
%age !0 of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
Useful *,+D Debugger Co""ands
4aveat: ,ome of t/ese commands are not supported in 3isual De(ugger" At t/e time of 'riting t/is
document t/ere is no official list of supported RAD commands for t/e latest version of t/e +&A,-
RAD De(ugger0 /o'ever t/is document 'ill (e updated '/en suc/ details (ecome availa(le"
Co""and S#nta
4ommand -xplanation
Qcommand ,pa'n anot/er process and execute t/e command" $/e previous command
t/us used can also (e recalled and executed (y t/e QQ command"
L4trlMDN Display t/e next !! lines of source in t/e current file"
Nn ,et t/e current display line to line nn in t/e current file and t/en display t/e line"
Note t/at t/e program execution counter remains unc/anged0 it is only t/e
display pointer t/at is c/anged" A command suc/ as s Bsee laterC 'ill correctly
execute t/e next line in t/e programmed seAuence0 not t/e ne'ly displayed
line"
& Display all currently active (rea:points"
( T;tU nnT0fileU ,et a (rea:point at line nn in t/e current file or t/at specified (y t/e file modifier"
f t/e !t option is specified t/en t/e (rea:point 'ill cause a display of all t/e
trace varia(les rat/er t/an /alting t/e program"
( T;tU varname $/is form of t/e command 'ill cause t/e de(ugger to (e entered '/enever
t/e contents of t/e specified varia(le are c/anged"
4 4ontinue execution of t/e program"
d T;t(edU TVnnU Delete (rea:point andEor trace ta(le entries0 and 'ill normally prompt for
confirmation" $/e t and s'itc/es refer to trace and (rea:points respectively"
$/e " s'itc/ deletes all of t/e specified entries 'it/out prompting" $/e nn
s'itc/ deletes t/e entry nn in t/e given trace or (rea:point ta(le0 also 'it/out
prompting" $/e d and e s'itc/es respectively disa(le or ena(le t/e given entry
'it/out removing it from t/e ta(le"
f TonWoffU A de(ug (rea:point is set for a filename c/ange" $/is (rea: can (e set to on or
off" f t/e program is continued BC commandC t/e de(ugger 'ill (e entered t/e
next time t/e source file c/anges"
+ T;gU $/e # command displays a complete /istory of (ot/ G$SU% and external
su(routine calls" @/en issued 'it/out options t/e command 'ill only display
information a(out t/e current program or su(routine" $/e !& Bglo(alC option 'ill
s/o' a (rea:do'n of t/e entire application"
p Tpat/listU Defines t/e list of directories and pat/names Bdelimited (y :C t/at t/e de(ugger
'ill t/en searc/ to find source codes" p 'it/out a pat/list displays t/e current
%at/"
s T;tTmUdU TnnU 4ontinue execution of +&4 code in single line steps (efore returning to de(ug"
$/e value nn c/anges t/e num(er of lines executed (efore returning to de(ug"
$/e !t s'itc/ is used to display t/e trace ta(le after every line executed0 rat/er
t/an 'ait for entry to de(ug" $/e d s'itc/ sets a delay (efore executing eac/
line of code" ' is used to set t/e delay in seconds Bdefault is 5 deci;secondsC"
, T;tTmUdU TnnU ,ame as c except t/is 'ill 7step over7 su(routine calls0 t/e code 'it/in t/e
$-1-N2, $26 8ser *uide
%age !! of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
su(routine 'ill not (e displayed"
$ Display t/e current trace ta(le"
t T;fgU expr Add t/e value specified (y expr to t/e trace ta(le" @/en de(ug is entered0 all
t/e values in t/e ta(le are displayed" $/e ( s'itc/ is used to fully evaluate expr0
'/ilst t/e & s'itc/ extends t/e display of expr to all levels"
v T;gmsrvU TexprU -valuate expr and display t/e result" $/e effects of t/e s'itc/es are: & to
extend t/e display of expr to all data areas" ' to allo' varia(le modification
'it/in expr" @/en a varia(le is modified 'it/ t/e ' option (inary c/aracters
may (e entered using t/e octal seAuence )nnn" $/e seAuence )*+* 'ould
t/erefore (e replaced (y C,AR-./ in t/e modified varia(le" $/e seAuence ))
evaluates to t/e single c/aracter ) and a seAuence suc/ as )x evaluates to t/e
single c/aracter x Bi"e" t/e ) 'ill (e lostC"
' nn Display a 'indo' of source code" $/e default is R lines 'it/ 6 (efore and after
t/e current one" $/e value nn is used to c/ange t/is parameter"
Table 1 Debugger Comman"s
Debugger *edire!tion and -i$es
$/e de(ugger provides t/e a(ility to redirect t/e results of its internal command set to a file or t/roug/
a pipe to a command" $/is is a very po'erful feature of t/e de(ugger"
$/e follo'ing commands allo' t/is feature:
' Display 3aria(leBsC
H Display History $race
) Display &rea:points
T Display $race $a(le
Here are some examples of t/is feature:
,yntax Description
v W pg %ipe t/roug/ t/e pg filter
t N traceta(le redirect trace points output to file
v Record N file Display varia(le contents to a file
Table 2 Debugger &e"irection
$-1-N2, $26 8ser *uide
%age !2 of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
Ee!ution . Single Ste$$ing
s/.t!gd/n00/nn0
Argument Description
;t display trace ta(le after eac/ source line executed
;c only count t/e lines of source in t/e same CA00 level
;g only count t/e lines of source in t/e same G$SU% level
;dTnU enter a delay in increments of !00 milliseconds (et'een executing lines of source" $/is
is incremented (y t/e n value entered"
nn execute t/e next nn lines of source (efore re;entering de(ug
Table # $ingle $tepping 'rguments
$/is command is used to execute t/e program in steps and to re;enter de(ug after t/e execution of a
given num(er of lines of code" $raced varia(les are displayed after de(ug is re;entered0 and any
screen display 'it/in t/e executed code is s/o'n as normal"
-ntry Result
s $/e simplest form of t/e command executes t/e next line of t/e code and t/en
re;enters de(ug"
s 1t $/e next line of code is executed and t/e contents of all entries in t/e trace ta(le
are s/o'n"
s .t4 $/e next four lines of code are executed displaying t/e trace ta(le entries (efore
re;entering de(ug"
s 22 $/is command executes t/e next 20 lines of code (efore re;entering de(ug"
s .td3 222 $/e command executes t/e next 200 lines of code" $/e ;d s'itc/ sets a delay in
increments of !00 milliseconds (et'een eac/ line executed" $/e 5 denotes t/at
a 500 millisecond0 or /alf second delay is set (efore executing t/e next line" $/e
default value is !0 or !00 milliseconds" $/e ;t s'itc/ ensures t/at t/e trace
commands are s/o'n after t/e execution of every line" @/ile t/is process is
continuing0 de(ug can (e entered (y (rea:ing into t/e program as normal" $/is
is a very useful command to use '/en a run;time error occurs in a program0 and
t/e area of code responsi(le needs to (e found Auic:ly" @it/ t/e ;d s'itc/ set0 it
is also possi(le to speed up or slo' do'n t/e execution of t/e code if t/e initial
value c/osen is too fast or slo'" $/is is done (y entering a num(er from t/e
:ey(oard in t/e range 0;R0 '/ic/ alters t/e delay to t/e given num(er of !00
milliseconds increments"
s .d4t 322 $/e command 'ill execute t/e next 500 lines of code 'it/ a delay factor of 900
milliseconds (et'een eac/ line" $/e speed of execution can (e increased or
decreased (y pressing t/e num(ers 0;R on t/e :ey(oard during execution" n
addition to t/is0 t/e ;t s'itc/ means t/at t/e contents of t/e varia(les trace ta(le
'ill (e displayed after every line of code executed"
Table 4 Examples of how to use single-stepping arguments
$-1-N2, $26 8ser *uide
%age !9 of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
'ariable Dis$la#
'/.gv"rs0
,yntax Description
3 AN, $/e simplest form of t/e command 'ill display t/e contents of t/e varia(le next to t/e
varia(le name0 in t/is case A1S" $/is 'ill only produce a display if t/e source is at
level !0 or in t/e /ome directory" f t/e varia(le /as not (een assigned0 t/e value
BN8LLC is displayed" f t/e value assigned /appens to (e null0 /o'ever0 t/en a (lan:
BnullC 'ill (e displayed next to t/e varia(le name"
v ;g AN, f t/e varia(le in Auestion resides in a different data area to t/e local level B42112N
or NA1-D 42112NC0 t/en t/e !& s'itc/ s/ould (e used to display t/e varia(le
contents" $/is extends t/e display of t/e varia(le to data levels0 and is particularly
useful '/en executing a su(routine in a su(;directory or li(rary"
v ;m AN, $/e !' s'itc/ displays t/e varia(le and contents0 (ut in addition allo's t/e user to
modify t/e contents" An eAual sign is s/o'n after t/e varia(le contents0 and any
c/aracters or num(ers entered follo'ed (y a carriage return are ta:en to (e t/e ne'
value of t/e varia(le" -ntering a carriage return leaves t/e varia(le contents
unc/anged" $/e c/aracter seAuence )nnn is replaced (y t/e (inary c/aracter defined
(y t/e octal num(er nnn" $/erefore t/e seAuence )234 'ould (e replaced (y a field
mar:"
v ;gv AN, $/is command displays t/e value /eld in varia(le AN, no matter '/at t/e current
level of t/e source" n addition0 t/e !5 s'itc/ s/o's t/e type of varia(le Bstring or
numericC0 its memory location0 and siXe"
v ;r NA1- $/is command displays t/e contents of t/e varia(le NA1- at t/e start of t/e next
line" $/e !r s'itc/ provides a ra' c/aracter vie' of t/e varia(le name and value"
v ;s NA1- $/e !s s'itc/ s/o's a s/ort vie' of t/e varia(le (eing t/e first !2P (ytes"
$/e " and 6 c/aracters can also (e used 'it/in t/e varia(le name as 'ild card
c/aracters" $/e 6 denoting a single occurrence of any c/aracter0 and t/e " denoting
any num(er of occurrences of any c/aracter"
Table ( Displa)ing Variables in Debugger
$-1-N2, $26 8ser *uide
%age !6 of !5
De(ugging $26 ,erver 7Ho' $o7 *uide
$/e ta(le (elo' s/o's some examples:
-ntry Result
v AV displays all varia(les (eginning 'it/ t/e letter A
v AFFF displays all four letter varia(les (eginning 'it/ t/e letter A
v V;N3 displays all varia(les ending 'it/ t/e c/aracters !I17
v V-N%V displays all varia(les 'it/ t/e c/aracters E1P 'it/in t/eir name
v L,B20VC displays every element in t/e second ro' of t/e dimensioned array 0IS
3 3Y.)8N4$2N Displays contents of t/e common varia(le 3.)8N4$2N0 note t/e . must (e
prefixed (y Y ot/er'ise t/e .)8N4$2N is interpreted as an environment
varia(le"
Table * Examples of Displa)ing Variables
All t/e a(ove ta(les are ta:en from t/e +&A,- :no'ledge(ase '/ic/ contains furt/er commands for
t/e de(ugger" /ttp:EE'''"+(ase"comE:no'ledge(aseEindex"/tml
$-1-N2, $26 8ser *uide
%age !5 of !5

Vous aimerez peut-être aussi