Home
UCL Debugger User Manual
Contents
1. Tace code stetecsan e o subwindow qun Integer conversions Rut String Integer To Text start New Line Infeger To Text 123 Text if kNthen Put 9Xring OK Put String Text New Line else Put StrNug Error end if Put String Mxt To Integer start New Line gt execution gt Enter gt Leave av control bar L gt LOAD teXt misce test_support Ni HLL gt code markers line numbers execution position command Marked lines Click here to marker subwindow contain code set remove breakpoints FORM 0019 1M 0 UCL_Debugger_UM_1_ rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S Spe berarbtg Rev Datum Date asie rium Seite Page 9 von of 27 The components of the debugger main window Some of these components are described in more detail in the following chapters 2 source subwindow This subwindow displays the source text of the compilation unit currently being executed command subwindow This subwindow is an HLCL command window Most of the debugger control functions done with the mouse are translated into HLCL commands and executed here see 6 menu bar The menu bar with different menus for various debugger functionality see 5 2 execution control bar This is a tool bar with the most frequently used functions for execution control such as start stop con tinue sing
2. E Support Lib P Run to different Support Library operations T Next Enter Leave t IO Library 5 port Support Library e Test_Support_Lib Start When no AP is loaded the menu item Start will be shown when an AP is loaded it is Restart Restart This menu item allows you to start or to restart an AP with an explicit parameter list Executed command LOAD AP name parameters Run Start or continue execution up to the next breakpoint Alternatively you can use the execution control bar see 5 3 Executed command RUN Reload Reload the current AP with its original parameter list The AP is now in initial state and execution may be started from the beginning Alternatively you can use the execution control bar see 5 3 Executed command LOAD AP name parameters Run to Continue execution up to the marked line In order to mark the line mark at least one character in the line Alternatively you can use the context menus see 5 4 5 5 Executed command RUN line number Next Execute one source line step over subprograms i e if the line contains a procedure or function call do not stop in the subprogram but execute it completely as part of the line Alternatively you can use the execution control bar see 5 3 Executed command NEXT Enter Execute one source line step into subprograms i e if the line contains a procedure or function call stop on the first executable instruction within the sub
3. system tree version ccu CDU element config mission system tree version ccu ccu lt pathname gt ccu name lt version gt lt issue gt lt revision gt lt cdu gt lt pathname gt lt version gt lt issue gt lt revision gt test version instance Example environment CCU APM MASTER 4 APM FLTSYS FLAP TEST 1 0 0 FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S Sa berarbtg Rev Datum Date asie rium A Seite Page 7 von of 27 Options continued node name the name of the test node where the I Code interpreter runs Default TEs 01 login sequence sequence the name of an HLCL command sequence pathname qualified nickname or file name that is to be run as a login sequence i e before user interaction starts Sequence Sequence the name of an HLCL command sequence pathname qualified nickname or file name that is to be run in batch mode When the sequence has terminated the debugger remains loaded for in teractive commanding font name font the name of a text font to be used in the debugger source and command window Default Lucidatypewriter font size size the size of the text font in points Default 10 log file file the name of a file to which the debugger logs all user interaction and debugger responses If omitted no
4. Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe ssue 1 Datum Date 2004 09 01 EA D S ee berarbtg Rev Datum Date Exc EEri i rnm A Titel Title UCL Debugger User Manual Dokumenten Typ Document Type User Manual Dokumentenklasse Klassifikations Nr Document Class Classification No Dokumentenkategorie Konfigurations Nr Document Category Configuration Item No Produktklassifizierungs Nr Classifying Product Code Freigabe Nr Release No Bearbeitet Franz Kruse Org Einh TE 55 Unternehmen EADS ST Bremen Prepared by Organ Unit Company Gepr ft Stephan Marz Org Einh TE 55 Unternehmen EADS ST Bremen Agreed by Organ Unit Company Genehmigt Org Einh Unternehmen Approved by J rgen Frank Organ Unit TE 55 Company EADS ST Bremen Genehmigt Org Einh Unternehmen Approved by Organ Unit Company 2 Agency FORM 0019 1M 0 UCL_Debugger_UM_1_ rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 n C S Ausgabe ssue 1 Datum Date 2004 09 01 EA D S el berarbtg Rev Datum Date asie rium E Attribut Liste List of Attributes Vertrags Nr Dokument Ref Nr Contract No Document Ref No Lieferbedingungs Nr Seitenzahl Dokument Hauptteil DRL DRD No Pages of Document Body Schlagw rter Erstellungssystem Headings SW Tool UCL Debugger Kurzbeschreibung Abstract This document describes the usage of the UCL Debugge
5. Within the se quences the usual HLCL language features are available in particular the specific debugger commands and functions see 7 1 Please note that command procedures closed sequences cannot reasonably be used when access to named objects in the debugged unit are needed since command procedures do not allow any visibility outside their local scope Command sequences used for debugging will therefore mostly be open sequences Here is a simple example for the usage of a command sequence Suppose you want to debug a or loop in an AP like the following up from the n th cycle i e ignore n 1 cycles and then break for manual debugging 1 procedure Some AP 80 begin 105 for I 1 to 1000 do 106 dusts stop here in 70 th iteration cycle 178 end for 379 end Some AP Then the following sequence may be used to interrupt any such loop in a specific line at a specific iteration cycle The loop index the line number and the cycle number are passed as parameters sequence Stop Loop in out Index Integer in Line Unsigned Integer in Cycle Integer variable BP Unsigned Integer breakpoint number begin BREAKPOINT Line set breakpoint in line BP NO OF BREAKPOINT keep the breakpoint number loop RUN start continue execution if AT BREAKPOINT BP then we are at our breakpoint if Index Cycle then desired iteration cycle reached Put Stopped in line string Line exit
6. command SET RESULT in VALUE union This command can only be given at a function return point It sets the function return value to the given value The type of the VALUE parameter changes according to the function result type SET RESULT SOFF set the return value of the just returned function to SOFF command SHOW in POSITION union entity pathname SUBPROGRAM LINE NUMBER in SPECIFICATION BOOLEAN FALSE Display the given source text position in the source subwindow If the position is in a different compilation unit that unit will be displayed in the source subwindow The SPECIFICATION pa rameter can be used to require the body or specification of a library to be displayed SHOW 225 move display to line 225 of the currently dislayed compilation unit SHOW Put Value move display to procedure Put Value SHOW N NTIME LIBRARY show body of library V NTIME LIBRARY in source subwindow SHOW N NTIME LIBRARY SPECIFICATION TRUE same but show specification of the library command STACK in LEVEL union STACK COMMAND LEVEL null List or navigate within the subprogram call stack STACK list the call stack STACK UP go one level up in the call stack STACK DOWN go one level down in the call stack STACK FIRST goto the top of the call stack STACK LAST goto the bottom of the call stack current execution position STACK 3 goto level 3 of the call stack FORM 0019 1M 0 UCL Debugger UM 1 rtf
7. font size lt value gt 10 text font size logfile lt value gt lt log file name Parameter item the item AP to be debugged It can be given as either the pathname or the nickname in the qualified form NV nickname If the AP has parameters the actual parameter list can be given in parentheses af ter the name name parameter 1 parameter n The parameter list is written in usual UCL syntax in positional or named notation Optional parameters may be omitted The whole item parameter should be enclosed in quotes in order to keep it together as one parameter for the shell and to mask the backslashes from the shell If the parameter list is omitted parameter input will be requested with a pop up window like shown above If the item parameter is omitted altogether the debugger will start without an AP loaded you will then have to load an AP within the debugger window Options Option names can be written in lower upper or mixed case and they may be abbreviated by dropping charac ters from the end of the name as long as the name remains unique Name parts separated by underscores can be abbreviated separately e g log or 1og seq are valid abbreviations for 1ogin sequence environment environment defines the database user environment If omitted the environment will be obtained from the environ ment variable MDA ENVIRONMENT in the same syntactic form environment CCU element config mission
8. Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S Spe berarbtg Rev Datum Date Exc bri i rnm A Seite Page 21 von of 27 7 1 2 Debugger Functions function AT BREAKPOINT UNSIGNED INTEGER When stopped at a breakpoint this function returns the number of this breakpoint function AT LINE LINE NUMBER Returns the current line number function AT MODULE pathname Returns the pathname of the module currently executed function NO OF BREAKPOINT UNSIGNED INTEGER Returns the number of the breakpoint just set This can be used to store breakpoint numbers for later reference BREAKPOINT Put Value set a breakpoint Put Value BP NO OF BREAKPOINT keep its number in a variable if AT BREAKPOINT Put Value BP then _ reference the stored breakpoint number end if function RESULT union This function is only allowed at a function return point It yields the value returned by the function The command sET RESULT may be used to have the function return a different value FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S Spe berarbtg Rev Datum Date asbcri um 5 Seite Page 22 von ot 27 7 2 HLCL Command Sequences You may automat parts or all of a debugging session by using HLCL command sequences
9. breakpoint at the given position The position can be given as a line number in the currently dis played source text or the qualified or single name of a procedure or function In the latter case execution will stop at the first code position in the subprogram when it is called BREAKPOINT list all breakpoints currently set BREAKPOINT 185 set breakpoint in line 185 BREAKPOINT User Lib Proc set breakpoint in procedure Proc in User Lib command ENTER Execute one source line If the line contains a procedure or function call enter the subprogram and stop at the first executable line command I CODE in ON BOOLEAN null Switch output of I Code on or off When on the executed I Code instructions will be displayed for each executed source line I CODE True switch I Code output on I CODE False switch I Code output off command LEAVE Leave the current subprogram i e execute all instructions up to and including the return from the subprogram For a function you may now obtain or change the function return value using the RESULT function or the SET RESULT command command LOAD in MODULE AP PATHNAME null Load an AP into the debugger The AP is to be given together with its parameters in parentheses If an AP is already loaded you can reload this AP either with different parameters if you give a parameter list or with the same parameters if you omit the parameter list It is not possible to load a different AP
10. if an AP is already loaded LOAD some path AP parameters load or reload an AP LOAD some path AP reload same AP with same parameters command LOCATE in ITEM entity Find and show the source code position where a named item is declared If it is declared in a dif ferent compilation unit the source text of that unit will be displayed in the source subwindow command NEXT Execute one source line If the line contains a procedure or function call do not enter the subpro gram but execute it FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S ee berarbtg Rev Datum Date Exc Eri rnm A Seite Page 20 von of 27 command REMOVE in BREAKPOINT union SUBPROGRAM LINE NUMBER Remove a breakpoint from a line in the current compilation unit or from a subprogram REMOVE 185 remove breakpoint from line 185 0 all breakpoints REMOVE User Lib Proc remove breakpoint from procedure Proc in User Lib REMOVE 0 remove all breakpoints command RUN in POSITION union SUBPROGRAM LINE NUMBER null Start or continue execution If a position parameter is given execution will stop at that position RUN start or continue execution up to next breakpoint RUN 185 start or continue execution up to line 185 RUN User Lib Proc start or continue execution up to procedure Proc in User Lib
11. stack Alternatively you can use the execution control bar see 5 3 Executed command STACK UP Down Move one level down in the subprogram call stack Alternatively you can use the execution con trol bar see 5 3 Executed command STACK DOWN Last Move to the lowest level in the subprogram call stack This is a convenient function to get back to the current execution position when that position is not currently displayed in the source subwin dow Alternatively you can use the execution control bar see 5 3 Executed command STACK LAST Current Same as Last Get back to the current execution position Alternatively you can use the execu tion control bar see 5 3 Executed command STACK LAST Show List the subprogram call stack Executed command STACK 5 2 6 The Window Menu Info Execution Breakpoint Expression Call stack NTESTMMISCATEST SUPPORT LIB Clear command pane Clear command pane Make the command subwindow empty leave just one prompt FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S Spa berarbtg Rev Datum Date asie rium 5 Seite Page 13 von of 27 5 3 The Execution Control Bar This bar contains the the most frequently used functions for execution control All these functions are also available through the menu bar see 5 2 but for convenience they have been pu
12. Date asie rium Seite Page 2 von of 27 2 Applicable and Reference Documents 2 1 Applicable Documents none 2 2 Reference Documents 2 2 1 CGS User Manual CGS RIBRE SUM 0001 Issue 3 2004 04 29 2 2 2 User Control Language UCL Reference Manual CGS RIBRE STD 0001 Issue 2 A 2004 09 01 2 2 3 High Level Command Language HLCL Reference Manual CGS RIBRE STD 0002 Issue 2 A 2004 09 01 2 2 4 UCL Virtual Stack Machine and I Code Reference Manual CGS RIBRE STD 0003 Issue 2 A 2004 09 01 FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S ee berarbtg Rev Datum Date asie rium A Seite Page 3 von of 27 3 Overview The UCL Debugger allows to debug Automated Procedures programs written in UCL on source code level within a graphical window environment It provides the usual debugging features like single step execution breakpoints reading and writing variables etc Besides the graphical environment it provides an HLCL com mand subwindow that makes nearly all debugging funtionality available on command level and furthermore allows to use the normal HLCL features In particular the user may automat parts or all of a debugging ses sion through HLCL command sequences The UCL Debugger is a distributed application The debugger kernel comprising the user interface and all high level debuggin
13. and Sequ ences ut t iad enitn te eina ide be pu cH Pe Ra FREE a ER Re RE ea 22 IIIa c 23 FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe ssue 1 Datum Date 2004 09 01 EA D S Sa berarbtg Rev Datum Date asie rium Seite Page 1 von of 27 1 Introduction 1 1 Identification This is the UCL Debugger User Manual document number CGS RIBRE MA 0001 1 2 Purpose This document describes the usage of the UCL Debugger It assumes the user is familiar with the User Con trol Language UCL described in 2 2 2 For usage on purely graphical level using windows buttons and the mouse knowledge of UCL is sufficient But since the UCL Debugger provides a command subwindow for direct commanding in HLCL a knowledge of the High Level Command Language HLCL is desirable as well If automated command sequences are to be used ia good knowledge of HLCL is vital For a description of HLCL see 2 2 3 For an expert user it may sometimes be useful to understand details of execution on I Code level within the Virtual Stack Machine A description of the stack machine architecture and I Code is given in 2 2 4 FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S ee berarbtg Rev Datum
14. cesdiateseca sndivedeecesecsessieesecetenetenate 4 Starting the Debugger from within HCl eene nn nnne nnns nennen nennen 4 Starting the Debugger from the Command Line sssssssssssssseeeeeeeeee eene nennen nennen 6 The Debugger Main Window 1 eeeeeeeeeee eene nnmnnn annnm neni assi nnns aas n nnns nnmnnn ansa nnn n nnn nn 8 Overview 8 I A M 10 Dem EEUU 10 The Execution Menu etn etc eb p atte E einen 10 The Breakpoint Mel eer tee ete ee epar casse an a ad ene case dienes 11 The Expression M N m coeds 11 The GC al Stak ME a i A FE 12 WHE WinQOw MO MU sseni na eE vans AE EAE E N cue aN EE A 12 The Execution Control Bar 1 naeh tert ette a ia eia sa als line allen 13 The Source CONTEXT MEME EA nern nn nern naar nn nam naar denne han and dan nennen 14 The Line Context MON u e geo Da reg edad 15 Specific Debugger F nctionalily 1 2er rr iaceret reir i te thoi rne epe un IER Ce oen nea aepo cus mu aur rennen 16 Name Scopes and Visibility ete aie een 16 aee ean e c 17 The HLCL Command WindOW 1 riceccie eie etan iine euet aa aan nn ha an ak cmi ann nam nn mann 18 Specific Debugger Commands and Functions sse ener nnne ener nns 18 Debugger CommandS eerte Rr die Pre nen PUR ates a te eee EEEE ERS 19 Debugger Functions u nenne 21 HLEGI Comm
15. e marked expression The expression may be a single item or a complex expression including software variables but it must not contain func tion calls Alternatively you can use the source context menu see 5 4 Executed command expression Assign value Assign a value to the marked variable or software variable A pop up dialog will prompt you for the value to be assigned Alternatively you can use the source context menu see 5 4 Executed command variable value Show function result Display the return value of the just returned function This is only allowed at a func tion return point Executed command RESULT Assign function result Set the value to be returned by the just returned function This is only allowed at a function return point Executed command SET RESULT value FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S ap berarbtg Rev Datum Date asbcr um Seite Page 12 von of 27 5 2 5 The Call Stack Menu Info Execution Breakpoint Expression Belle Window NTESTMISCNTEST SUPPORT LIB amp First a Up Test Support Lib v Down Test different Support L Last A Curre nt procedure Test Support Lib Show First Move to the uppermost level in the subprogram call stack Executed command STACK FIRST Up Move one level up in the subprogram call
16. end if elsif AT BREAKPOINT 0 then we are at end of program Put Loop ended prematurely stopped at end of program exit else nothing this breakpoint is not ours end if end loop end Stop Loop For the above AP call the sequence as follows Stop Loop I 106 70 FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe ssue 1 Datum Date 2004 09 01 EA D S m id berarbtg Rev Datum Date asbie rium Seite Page 23 von of 27 8 The Log File The UCL Debugger allows to create a log file and log all user interactions together with debugger responses and the source line that will be executed next The log file has the following format HLCL gt LOAD NtestWMniscNtest support lib NTESTMMISCNTEST SUPPORT LIB 17 begin HLCL gt NEXT TEST MISC TEST_SUPPORT_LIB 20 Put String Integer To Text start New Line executed command HLCL NEXT NTESTMMISCNTEST SUPPORT LIB 7 ps m le nam 22 Integer To Text 123 AOL ES HLCL NEXT l TEST MISC TEST_SUPPORT_LIB source line after execution 24 if Ok then Breakpoint 1 set at line 30 HLCL RUN Breakpoint 1 reached NTESTMMISCNTEST SUPPORT LIB 30 Put String Text To Integer start New Line HLCL put Numer error message dentifier unknown CL gt put number command response e Lines starti
17. exist in different scopes the identifier in the highest scope will hide objects with the same identifier in lower scopes This may easily cause name conflicts between the de bugged UCL module and the HLCL session and command sequences e An identifier locally declared in a command sequence hides an identifier in the UCL module being de bugged To avoid this situation choose names in your sequence that will most likely not conflict with iden tifiers in the debugged unit e g give them a specific prefix e An identifier in the HLCL session is hidden by an identifier in the debugged module Here the same solu tion applies choose names in your HLCL session that will most likely not conflict with names in the de bugged module e An identifier in the debugged module hides a predefined identifier e g a Put procedure in the AP hides the predefined HLCL Put command This problem can easily be avoided by using predefined identifiers in qualified notation with a leading dot Put Max Length Other name conflicts that are common for any HLCL commanding such as between command sequences and an HLCL session are not mentioned here 6 2 Assignments The UCL Debugger allows you to assign values not only to variables and software variables but also to ob jects that do normally not accept assignments e for loop variables e in parameters parameters of mode in While assignments to for loop variables do not present a particular problem
18. g functionality resides in a workstation while the AP being debugged is executed by an I Code interpreter in the CGS execution environment normally located in a different computer The I Code interpreter executes low level debugging functions on request of the debugger kernel Since this distributed execution requires extensive network communication the debugger will execute an AP considerably slower than when executed directly The following chapters describe both the graphical user interace and the HLCL command interface as well as specific debugger functionality that requires special care by the user FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EADS u berarbtg Rev Datum Date p su Seite Page 4 von of 27 4 Starting the UCL Debugger 4 1 Starting the Debugger from within HCI The UCL Debugger is usually started from within the UCL Browser in the CGS Online Test Control environ ment HCI for a description see the CGS User Manual 2 2 1 gt lt Online Test Control OOS Open the UCL Browser from the HCI selector window S lt UCL Browser elc Navigate to the AP to be debugged select it and click the Debug button FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved 4 EADS ___ asie rium The UCL Debugger window will start it w
19. he debugger maintains a current scope wich represents the standpoint of the user from where he views the different name scopes and wich thus determines which items he can directly see and which object a par ticular identifier actually denotes Different user actions may change the current scope thereby moving the user s standpoint into a different scope e Basically the current scope is determined by the current execution position When e g executing a line within a local procedure of the AP the current scope and the standpoint of the user is the local scope of the procedure From here he first sees the local declarations and parameters then the global declara tions and parameters on AP level and finally the imported objects If the procedure is in an imported li brary the user will first see the local declarations and parameters of the procedure then the global decla rations within the library and finally the objects imported by the library When execution resumes a return from the procedure will switch the current scope to the scope of the caller either the AP or library body or another subprogram possibly in a different library e When navigating through the subprogram call stack e g with the up and down buttons the current scope will switch to the scope of the caller or the callee respectively A click on the back button brings it back to the current execution position e When selecting a different compilation unit fro
20. ill automatically connect to the appropri ate test node and load the selected AP If the AP has parameters a pop up window will appear that requests you to enter parameter values Any default values are already inserted For data types with a limited set of values combo boxes allow you to select the desired value from the set of available values cgs gt Dok Nr No CGS RIBRE MA 0001 Ausgabe lssue 1 Datum Date 2004 09 01 berarbtg Rev Datum Date Seite Page 5 von of 27 Load AP parameter input VALUE EXPECTED READY statecode TIMEOUT 0 00000000000000E 000 DURATION A Cancel Insert the parameter values and click on OK the UCL Debugger window appears with the AP loaded UCL Debugger TEST_COMMON TN_1 PROCEDURES SEND_TC SEND_HIGH PRIO MMF Info Execution Breakpoint Expression Call stack Window TEST_COMMON TN_1 PROCEDURES SEND_TC SEND_HIGH_PRIO Real procedure Send High Prio Value Expected Duration 0 0 s Timeout import Ground Common import Ground Library constant This Unit PATHNAME alias Tcoml TEST_COMMON TN_1 variable Status variable Prio State READY Send High Prio Ground Common Ucl Return Bround Common Priority Ground Common High variable Sas Ack Code Time Integer variable Sas Ack Time variable Seq Count Integer begi f Timeout 0 0 s then Prio Ground Common Low else Prio Ground_Com
21. le step etc All these functions are also available through the menu bar but for convenience they have been put in a separate and easy to access tool bar as well see 5 3 module list All modules the AP itself and all user libraries linked to the AP are listed in this combo box The name of the currently displayed module is shown in the text field You can display the source text of other modules by just selecting a different module from the list line numbers The line numbers of the source lines are displayed in s separate row Clicking on a line number sets or removes resp a breakpoint on that line code markers Lines that contain executable l Code are marked with small blue dots left to the line number execution position marker The blue arrow on the line number points to the line that will be executed with the next single step FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S n id berarbtg Rev Datum Date asie rium Seite Page 10 von of 27 5 2 The Menu Bar 5 2 4 The nfo Menu ni Execution Breakpoint Expression Callstack Window About FEST SUPPORT LIB Quit 2 Test Support Lib About Display short information about the program version Quit Quit the debugger 5 2 2 The Execution Menu Info Breakpoint Expression Callstack Window BUPPORT LIB H4 Reload
22. logging is performed Examples of program calls ucl debugger X TEST TC env CCU APM MASTER 4 APM FLTSYS FLAP TEST 1 0 0 Load the AP with nickname TEST TC on the default test node Give an explicit database envi ronment ucl debugger TEST_TC node TES 02 Load the AP with nickname TEST TC on the test node TES 02 Use the database environment defined in the environment variable MDA ENVIRONMENT ucl debugger N TEST TC node TES 02 log file debugger log Same as previous command in addition create a log file ucl debugger Just start the debugger on the default node and with the database environment in MDA ENVIRONMENT An AP will be loaded interactively within the debugger window FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S Zu berarbtg Rev Datum Date asce rium Seite Page 8 von of 27 5 The Debugger Main Window 5 1 Overview UCL Debugger TEST MISC TEST_SUPPORT_LIB Info Execution Breakpoint Expression Call stack Window menu bar TESTAMISCATEST_SUPPORT_LIB Click here to open Test_Support_Lib i Test different Support Library operations ine nneauie tis 6 procedure Test Support Lib module list 7 Select module to be displayed from combo box import IO Library import Support Library type Velocity Real m s variable Text string 20
23. m the module list and thereby displaying that compilation unit in the source subwindow the current scope switches to the body of the selected module So when e g selecting a library the user will see the global declarations of the library specification body and then the objects imported in the library Ony after the complete scope stack of the debugged AP the user will see the HLCL session scope maintained in the command window And when a command sequence is being executed its local scope and local imports will be seen before all other scopes So the overall scope and visibility stack within a debugging session is in decreasing order 1 2 3 4 the currently running the UCL scope stack the HLCL session scope predefined brio E 1 local subprogram 1 session declarations identifiers 3 a for loop stack 2 imports 1 application 1 for loop stack innermost loop first 2 parameters local declarations 3 imports b parameters a TREUE local declarations 3 UCL 2 AP library body a for loop stack b AP parameters global declarations spec body 3 imports FORM 0019 1M 0 UCL_Debugger_UM_1_ rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S caque berarbtg Rev Datum Date Exe Eri rnm Seite Page 17 von of 27 How to Handle Name Conflicts When objects with the same name identifier
24. module into the debugger RUN start or continue execution NEXT execute one line step over subprogram calls ENTER execute one line step into subprogram calls LEAVE execute up to the return from the current subprogram BREAKPOINT set list breakpoint s REMOVE remove breakpoint s LOCATE locate declaration of item SET_RESULT set function result being returned SHOW show source at given position STACK move in the subprogram call stack I_CODE show executed l Code instructions Functions AT_BREAKPOINT number of current breakpoint AT_LINE current line number AT_MODULE current module pathname NO_OF_BREAKPOINT number of last breakpoint set RESULT function result being returned Furthermore the UCL Debugger predefines a few types used for the parameters of some commands Types os AP_PATHNAME pathname UCL_AUTOMATED_PROCEDURE type LEVEL UNSIGNED_INTEGER type LINE_NUMBER UNSIGNED_INTEGER type STACK_COMMAND UP DOWN FIRST LAST type SUBPROGRAM entity procedure function FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S Spe berarbtg Rev Datum Date ssEer um Seite Page 19 von of 27 7 1 1 Debugger Commands command BREAKPOINT in POSITION union SUBPROGRAM LINE NUMBER null When given without a parameter all currently set breakpoints are listed With a parameter set a
25. mon High end if Issue Tcom1 STIMULI CCSDS TC HIGH Value Prio Prio Timeout 20 0 s Sas Ack Code Sas Ack Code Sas Ack Time Sas Ack Time gt ll E El gt Enter gt Leave HLCL gt LOAD test_common tn_1 procedures send_tc send_high_prio 1 0 READY 0 00000000000000E 000 gt Next A w A FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S Spe berarbtg Rev Datum Date asie rium A Seite Page 6 von of 27 4 2 Starting the Debugger from the Command Line The UCL Debugger may also be started from a UNIX command line in a shell window The ucl debugger program is located in either of the architecture specific directories SCLS_HOME bin linuxi for Linux SCLS_HOME bin sun5 for SunOS It has a simple command syntax ucl debugger parameters options A short parameter option overview can be obtained with the help option ucl debugger lt item gt lt item to be debugged may include pa rameter list help lt print this help then exit environment lt value gt MDA_ENVIRONMENT node lt value gt TES_01 lt test node identifier login sequence lt value gt lt login command sequence sequence lt value gt lt command sequence to b xecuted in batch mode font name value Lucidatypewriter lt text font name
26. ng with the command prompt HLCL gt contain the executed commands OTH e Source lines hava a line number prefix of the form 30 e Each source line is preceded by a line with the name of the module compilation unit it belongs to e Command responses and error messages follow without any specific marker FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved
27. or clicked expression The expression may be a single item or a complex expression including software variables but it must not contain function calls Alternatively you can use the Expression menu see 5 2 4 Executed command expression Assign to Assign a value to the marked or clicked variable or software variable A pop up dialog will prompt you for the value to be assigned Alternatively you can use the Expression menu see 5 2 4 Executed command variable value FORM 0019 1M 0 UCL Debugger UM 1 rtf Copyright by EADS All Rights Reserved EADS FORM 0019 1M 0 d a asie rium Set breakpoint at Remove breakpoint at Locate declaration of Show spec of Show body of Set breakpoint at line Remove breakpoint at line Run to line D od Dok Nr No CGS RIBRE MA 0001 C S Ausgabe lssue 1 Datum Date 2004 09 01 berarbtg Rev Datum Date i Seite Page 15 von of 27 Set a breakpoint on the marked or clicked procedure or function Executed command BREAKPOINT subprogram Remove the breakpoint from the marked or clicked procedure or function Executed command REMOVE subprogram Find and show the source code position where the marked or clicked item is declared If it is declared in a different compilation unit the source text of that unit will be displayed in the source subwindow Executed command LOCATE item Display the specifica
28. program Alternatively you can use the execution control bar see 5 3 Executed command ENTER Leave Leave the current subprogram i e continue execution until the subprogram returns to the caller and stop after the call Alternatively you can use the execution control bar see 5 3 Executed command LEAVE FORM 0019 1M 0 UCL_Debugger_UM_1_ rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S a di berarbtg Rev Datum Date SsSsErmium _ Seite Page 11 von of 27 Expression Callstack Window Set Set a breakpoint on the marked line at least one character marked in the line Alternatively you can use the context menus see 5 4 5 5 or just click on the line number Executed command BREAKPOINT line_number Remove Remove the breakpoint from the marked line at least one character marked in the line Al ternatively you can use the line context menus see 5 4 5 5 or just click on the line number Executed command REMOVE line_number Remove all Remove all breakpoints Executed command REMOVE 0 Show Display a list of breakpoints currently set Executed command BREAKPOINT 5 2 4 The Expression Menu Info Execution Breakpoint ES dcaa Callstack Window NTESTMISCNTEST SUPPORT L Show value Assign value Test_Support_ Show function result Test differen Assign function result f Show value Display the value of th
29. r FORM 0019 1M 0 UCL_Debugger_UM_1_ rtf Copyright by EADS All Rights Reserved EADS ur asbcri um cgs gt Dok Nr No CGS RIBRE MA 0001 Ausgabe lssue 1 Datum Date 2004 09 01 berarbtg Rev Datum Date Seite Page i von of 27 berarbeitung Datum Betroffener Abschnitt Paragraph Seite Revision Date Affected Section Paragraph Page FORM 0019 1M 0 DCR Daten Dokument Anderungsnachweis Data Document Change Record UCL Debugger UM 1 tf Anderungsgrund Kurze Anderungsbeschreibung Reason for Change Brief Description of Change Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe ssue 1 Datum Date 2004 09 01 EA D S Sa berarbtg Rev Datum Date asie rium Seite Page 1 von of 27 1 1 1 2 2 1 2 2 4 1 4 2 5 1 5 2 5 2 1 5 2 2 5 2 3 5 2 4 5 2 5 5 2 6 5 3 5 4 5 5 6 1 6 2 7 1 7 1 1 7 1 2 7 2 TOC Inhaltsverzeichnis Table of Contents MEMEO CUCU cm 1 leonem cc 1 Purpose 1 Applicable and Reference Documents 4 eeeeeeeeseeeeeeeeeeeeee seen nnns nennt na nnn nnn nan in nnns nsn nn nsns enne sna nnnnn 2 Applicable DOCUMENTS PT kennt 2 Reference DOCUMECNIS PORBFRESEERERTTPPBRFERFTEEEEETEPEBEREIESESTTEPTEEGERFITSTERTESERFEEHEILSESECEEBBEREFSTETPEEEEDESLGOHEITTESEEELESLHRRRITREBEBEUERLEEREFFE 2 Overview 3 Starting the UCL Deb gger 4 4s 2 2202 0uu0020 00422000000 Rn aan ann suncesdene
30. rom around the right click position TA variable Text string 20 14 variable NER Integer 15 variable Code 5 16 What is Number 17 begin 18 Int i 19 neeger conv Assign to Number show the value of a 20 Put String In Set breakpoint at Number Line marked expression 21 i E222 Inte ge r To Text Remove breakpoint at Number Locate declaration of Number if 0 en 25 Put String PROW SPAE GC NUmUGE New Line 26 else l Show body of Number 28 eig Set breakpoint at line 15 29 Remove breakpoint at line 15 30 Put String Te Run to line 15 Line 31 32 Text To Integer Text Number 6 Put String Text To Statecode start New Line 61 62 Text Code F ER What is Text_To_Statecode 1 en 65 if Code 0FF Value of Text To Statecode 2d abend Assign to Text_To_Statecode set a breakpoint 68 x Tak 2o 2 ct breakpoint at Text_To_Statecode on a subprogram 69 Statecode_To Remove breakpoint at Text_To_Statecode 70 Put Stri ae IES ER ae DORSET CAR DOT AUR 71 Put strine Locate declaration of Text_To_Statecode 1 Put String Show spec of Text_To_Statecode New Line 74 cea at Show body of Text_To_Statecode p 75 else _ Set breakpoint at line 62 38 Man eo aM CE Remove breakpoint at line 62 78 end Test Support L Run to line 62 What is Display a short information of what the marked or clicked item is Executed command item Value of Display the value of the marked
31. rtf Copyright by EADS All Rights Reserved Set a breakpoint in the clicked line Executed command BREAKPOINT line number Remove the breakpoint from the clicked line Executed command REMOVE line number Continue execution up to the clicked line Executed command RUN line number Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S ee berarbtg Rev Datum Date asie rium Seite Page 16 von of 27 6 Specific Debugger Functionality 6 1 Name Scopes and Visibility All named objects such as types variables constants and subprograms belong to some name scope During a debugging session different name scopes will exist new scopes may be opened and open scopes may be closed In order to understand which identifier is visible at what time an understanding of the scoping behav iour of the debugger is indispensible Name scopes make up a stack according to the scoping rules of UCL So the same scope stack that was in effect when the envolved compilation units were compiled will be found when debugging through these compi lation units But in the debugger additional scopes play a role The command subwindow holds its own HLCL session scope where you may declare named objects and import libraries that are not involved in the unit be ing debugged And when you execute command sequences those sequences may have a local scope with local declarations and local imports T
32. struction within the subprogram Alternatively you can use the Execution menu see 5 2 2 Executed command ENTER gt Leave the current subprogram i e continue execution until the subprogram returns to the caller and stop after the call Alternatively you can use the Execution menu see 5 2 2 Executed command LEAVE Move one level up in the subprogram call stack Alternatively you can use the Call stack menu see 5 2 5 Executed command STACK UP y Move one level down in the subprogram call stack Alternatively you can use the Call stack menu see 5 2 5 Executed command STACK DOWN 4 Move to the lowest level in the subprogram call stack This is a convenient function to get back to the current execution position when that position is not currently displayed in the source subwindow Alter natively you can use the Call stack menu see 5 2 5 Executed command STACK LAST FORM 0019 1M 0 UCL_Debugger_UM_1_ rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T C S Ausgabe lssue 1 Datum Date 2004 09 01 EA D S oe a berarbtg Rev Datum Date a sE rium Seite Page 14 von of 27 5 4 The Source Context Menu The source context menu appears when you right click in the source subwindow If a portion of text is marked the marked text will be taken as a parameter to the operation Otherwise the the debugger will determine the text portion to serve as a parameter f
33. t in a separate and easy to access tool bar as well ll Hq B Next P Enter gt Leave a www run pause reload run to next line nextline leave subpr up down back to continue line step over step into step out in stack instack current p Start or continue execution up to the next breakpoint Alternatively you can use the Execution menu see 5 2 2 Executed command RUN Il Reload the current AP with its original parameter list The AP is now in initial state and execution may be started from the beginning Executed command LOAD AP_name parameters be Reload the current AP with its original parameter list The AP is now in initial state and execution may be started from the beginning Alternatively you can use the Execution menu see 5 2 2 Executed command LOAD AP_name parameters gt Continue execution up to the marked line In order to mark the line mark at least one character in the line Alternatively you can use the Execution menu see 5 2 2 or the context menus see 5 4 5 5 Executed command RUN line_number Execute one source line step over subprograms i e ifthe line contains a procedure or function call do not stop in the subprogram but execute it completely as part of the line Alternatively you can use the Execution menu see 5 2 2 Executed command NEXT ary Execute one source line step into subprograms i e if the line contains a procedure or function call stop on the first executable in
34. ter will be checked against the formal maximum size and the assignment may overwrite not only the passed constant but also constants allocated at adjacent positions in the constant table FORM 0019 1M 0 UCL_Debugger_UM_1_ rtf Copyright by EADS All Rights Reserved Dok Nr No CGS RIBRE MA 0001 T Ausgabe lssue 1 Datum Date 2004 09 01 EA D S EN d CgS berarbtg Rev Datum Date as L rium E Seite Page 18 von of 27 7 The HLCL Command Subwindow The HLCL command subwindow allows you to control the debugger on textual command level Not only the specific debugging funtionality is available here but also all usual HLCL features with the only exception that you cannot start APs and call library subprograms In particular the user may automat parts or all of a debug ging session through HLCL command sequences The command subwindow implements a simple command history You can navigate through the history by pressing the up and down arrow keys The left and right arrow keys move the cursur within the command line which may be edited and reentered by pressing the return key The following subsections describe the specific debugger commands and functions as well as the use of command sequences for debugging For general HLCL commanding see the HLCL Reference Manual 2 2 3 7 1 Specific Debugger Commands and Functions The UCL Debugger predefines some debugger specific commands and functions Commands LOAD load or reload a
35. the loop will just terminate sooner or later assignments to in parameters require uttermost care e Parameters of scalar types are passed by copy so an assignment will just overwrite the local copy within the subprogram Structured parameters on the other hand are passed by reference an assignment will therefore overwrite the actual parameter outside the subprogram e If the actual parameter is a constant an assignment may have very odd effects o Constants are kept in a separate area of the stack machine memory the constant table An assign ment will thus change the constant value and the same constant may suddenly appear as a differ ent value in other parts of the program o For optimization the UCL compiler attempts to share identical parts of the constant table between several constants So altering one constant through assignment to an in parameter may implicitly change parts of other constants as well o For string constants only the smallest possible portion is actually allocated in the constant area i e a string whose maximum length is equal to the actual length even if the string type has a much lar ger maximum length For an empty string only one word containing the actual length 0 will be al located So when a string constant is passed as a parameter whose type is a fixed length string the actually allocated memory may and will normally be smaller than given by the string type An as signment to this parame
36. tion of the marked or clicked library in the source sub window Executed command SHOW library SPECIFICATION TRUE Display the body of the marked or clicked library in the source subwindow Executed command SHOW 1ibrary Set a breakpoint in the marked or clicked line If a portion of text is marked the breakpoint will be set in the marked line otherwise in the line you right clicked with the mouse Executed command BREAKPOINT line number Remove the breakpoint from the marked or clicked line If a portion of text is marked the breakpoint will removed set in the marked line otherwise from the line you right clicked with the mouse Executed command REMOVE line number Continue execution up to the marked or clicked line If a portion of text is marked execution continues up to the marked line otherwise up to the line you right clicked with the mouse Executed command RUN line number 5 5 The Line Context Menu The line context menu appears when you right click in the line number column o 64 sE nl at 7 Run to line 64 65 Set breakpoint at line 64 Remove breakpoint at line 54 62 Text To Statecode Text Code OFF New Line 68 69 Statecode To Text Code Text 70 Put String 0K wrong statecode T Put String Text 72 Put String Set breakpoint at line Remove breakpoint at line Run to line UCL_Debugger_UM_1_
Download Pdf Manuals
Related Search
Related Contents
EXIT Fantasia - Debuitenspeelshop.nl RspMatchEDT - GeoMotions, LLC PDF形式(72KB) Philips SWA4555W User's Manual Sony J-30SDI User's Manual 安全上のご注意 Responder AED spec french MILK POINT CONTROLLER NOX Knik 120mm Copyright © All rights reserved.
Failed to retrieve file