2022.2

Table Of Contents
ScriptDebugger
TheScriptDebuggerallowsyoutotestpersonalizationscriptsbysettingbreakpointsandstepping
throughthescripts.(Seealso:"Testingscripts"onpage376.)
TherearetwowaystostarttheScriptDebugger:
l
ClicktheDebug ScriptsbuttoninthetoolbaroftheScriptspane.TheScriptDebuggerwill
pauseandacceptinputassoonasitprocessesthefirstscript.
l
Right-clickanenabledscriptintheScriptspanelandchooseDebugfromthecontextualmenu.
TheScriptDebuggerwillpauseandacceptinputassoonasitprocessestheselectedscript.
TheDebuggersimulatesanoutputrunwithonlythecurrentrecordandappearsassoonasthemerge
engineprocessestheselectedscript,orthefirstscriptifnoscriptwasselected.Youcanthenadd
breakpointsand/orstepthroughthecode.
Meanwhile,theWorkspacewilldisplaythepartiallymergeddocument.
Scripts and call stack
Theleftsideofthewindowdisplaysallenabledscriptsthatapplytothecurrentcontextandthenameof
thescriptthatisdisplayedinthesourceeditoratthetoprightandthecurrentlinenumber.
Iftheselectorofastandardscriptorpostpaginationscripthasnomatchesinthecurrentresource
(MasterPageorsection)thescriptwillbeskipped.
Ifanerroristhrown,therestofthecurrentscriptisskippedandexecutioncontinueswiththenext
script.
Inthecallstack,framesareorderedfromnewtoold,toptobottom.Thecurrentstackframehasan
arrowindicator.Youwillonlyseemultiplestackframesifexecutionissuspendedinsideafunction.
Youcanclickaframetomakeitthecurrentframe.TheVariablespanelalwaysreflectsthestateofthe
currentframe.Notethatthisdoesnotmovetheinstructionpointer.Thescriptremainssuspendedat
themostrecentframe,evenifthatframeisnotthecurrentframe.
Source code
Youcanclickanyscriptatthelefttoviewitinthesourceeditoratthetopright.Aninstructionpointerin
theleftmarginmarksthecurrentline.
Thecodeisread-only,butclickingtotheleftofalineofcodeaddsabreakpointtoit(exceptwhenaline
hasnodebuggablecontent,forexampleifitonlycontainsadeclarationorcomment).Notethatbreak-
pointsarediscardedwhenthedialogisclosed.
Hoveringoveravariableinthecodeshowsthevalueofthatvariable.Ifthevariableisnested,likefields
inrecord.fields,youcanclickonthevariable,itsparent,childelementsand/orsiblings(ifany)tosee
theirvalue.
Thevalueisread-only,butyoucanselectitandcopyitwithCtrl+C.
Page 475