home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / debug / sd.man < prev    next >
Encoding:
Text File  |  1988-05-03  |  263.2 KB  |  9,043 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.         
  11.  
  12.                                     Ada*
  13.  
  14.                              Symbolic Debugger
  15.  
  16.                                ( WIS_DEBUG )
  17.  
  18.                                 Version 1.0
  19.  
  20.                                 User's Guide
  21.  
  22.  
  23.  
  24.  
  25.                           ####### ####### #######
  26.                           #     # #     # #######
  27.                           #     # #     # #######
  28.                           ####### ####### #######
  29.  
  30.                           ####### ####### #######
  31.                           #     # #     # #######
  32.                           #     # #     # #######
  33.                           ####### ####### #######
  34.                                           #######
  35.                           ####### ####### #######
  36.                           #     # #     # #######
  37.                           #     # #     # #######
  38.                           ####### ####### #######
  39.  
  40.  
  41.                              Intermetrics, Inc.
  42.  
  43.                              5312 Bolsa Avenue
  44.                          Huntington Beach, CA 92649
  45.  
  46.  
  47.  
  48.  
  49.  
  50.                               January 26, 1986
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.         * Ada is a trademark of the U.S. Department of Defense (AJPO)
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.         Ada Symbolic Debugger User's Guide                   Page: i
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.                                   PREFACE
  75.  
  76.  
  77.  
  78.               Developed by:  Intermetrics, Inc. 
  79.                              5312 Bolsa Avenue
  80.                              Huntington Beach, CA 92649
  81.  
  82.  
  83.                For:          Naval Ocean Systems Center
  84.                              271 Catalina Boulevard
  85.                              San Diego, CA  92152 
  86.  
  87.          
  88.                Contract:     N66001-85-C-0032
  89.  
  90.  
  91.                CDRL Item:    001AA
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  128.  
  129.  
  130.  
  131.  
  132.  
  133.         Ada Symbolic Debugger User's Guide                  Page: ii
  134.  
  135.  
  136.  
  137.         
  138.                                   CONTENTS
  139.  
  140.  
  141.         Chapter                                                 Page
  142.         
  143.  
  144.         1    INTRODUCTION ...................................... 1-1
  145.  
  146.         1.1    TOOL OVERVIEW ................................... 1-1
  147.  
  148.         1.2    CAPABILITIES .................................... 1-2
  149.  
  150.         1.3    GENERAL LIMITATIONS ............................. 1-4
  151.  
  152.  
  153.  
  154.         2    HOW TO USE THIS MANUAL ............................ 2-1
  155.  
  156.  
  157.  
  158.         3    THE SYMBOLIC DEBUGGER PROGRAM LIBRARY ............. 3-1
  159.  
  160.         3.1    THE BASE PROGRAM LIBRARY ........................ 3-1
  161.  
  162.         3.2    THE CURRENT PROGRAM LIBRARY ..................... 3-1
  163.  
  164.  
  165.  
  166.         4    USING THE WIS_DEBUG SHELL ......................... 4-1
  167.  
  168.         4.1    THE "?" COMMAND (HELP) .......................... 4-2
  169.  
  170.         4.2    THE SET_LIBRARY COMMAND ......................... 4-3
  171.  
  172.         4.3    THE DELETE COMMAND .............................. 4-3
  173.  
  174.         4.4    THE SOURCE INSTRUMENT COMMAND ................... 4-4
  175.  
  176.         4.5    THE COMPILE COMMAND ............................. 4-8
  177.  
  178.         4.6    THE LINK COMMAND ................................ 4-9
  179.  
  180.         4.7    THE RUN COMMAND ................................. 4-9
  181.  
  182.         4.8    THE SYSTEM COMMAND .............................. 4-10
  183.  
  184.         4.9    THE HELP COMMAND ................................ 4-11
  185.  
  186.         4.10   THE QUIT AND EXIT COMMANDS ...................... 4-13
  187.  
  188.         4.11   SAMPLE SESSION WITH WIS_DEBUG ................... 4-14
  189.  
  190.  
  191.  
  192.  
  193.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  194.  
  195.  
  196.  
  197.  
  198.  
  199.         Ada Symbolic Debugger User's Guide                 Page: iii
  200.  
  201.  
  202.  
  203.  
  204.         Chapter                                                 Page
  205.  
  206.  
  207.         5    EXECUTING THE DEBUGGER 
  208.                 WITH AN INSTRUMENTED PROGRAM ................... 5-1
  209.  
  210.         5.1    CREATING A LOG FILE ............................. 5-1
  211.  
  212.         5.2    SETTING THE PROGRAM LIBRARY ..................... 5-3
  213.  
  214.  
  215.  
  216.         6    DEBUGGING AN ADA PROGRAM .......................... 6-1
  217.  
  218.         6.1    UNDERSTANDING BREAKPOINTS ....................... 6-1
  219.  
  220.         6.2    SPECIAL DEBUGGER FEATURES AND COMMANDS .......... 6-2
  221.                  Command Conventions ........................... 6-3
  222.                  Keyboard Definitions .......................... 6-4
  223.                  The Terminal Capabilities File ................ 6-4
  224.                  The HELP Command .............................. 6-5
  225.                  The CANFILE Command ........................... 6-7
  226.                  The DEFINE Command ............................ 6-8
  227.                  The SHOW_DEFINE Command ....................... 6-9
  228.                  The SET_LIBRARY Command ....................... 6-10
  229.  
  230.         6.3    CONTROLLING TERMINAL OUTPUT ..................... 6-10
  231.                  The SCREEN Command ............................ 6-11
  232.                  The SET_SOURCE Command ........................ 6-12
  233.                  The SET_OUTPUT Command ........................ 6-13
  234.                  The SCROLL_UP Command ......................... 6-14
  235.                  The SCROLL_DOWN Command ....................... 6-14
  236.                  The RESHOW Command ............................ 6-15
  237.                  The RECREATE Command .......................... 6-15
  238.  
  239.         6.4    DISPLAYING PROGRAM AND DEBUGGER STATUS .......... 6-16
  240.                  The SILENT Command ............................ 6-16
  241.                  The ANNOUNCE Command .......................... 6-17
  242.                  The SHOW_BREAKPOINT Command ................... 6-17
  243.                  The SHOW_HISTORY Command ...................... 6-18
  244.                  The DISPLAY_UNITS Command ..................... 6-19
  245.  
  246.         6.5    CONTROLLING PROGRAM EXECUTION ................... 6-20
  247.                  The SET_BREAKPOINT Command .................... 6-20
  248.                  The CLEAR_BREAKPOINT Command .................. 6-21
  249.                  The GO Command ................................ 6-23
  250.                  The STEP Command .............................. 6-23
  251.                  The QUIT and EXIT Commands .................... 6-24
  252.  
  253.         6.6    EXAMINING AND MODIFYING PROGRAM VARIABLES ....... 6-25
  254.                  The PUT_VARIABLE Command ...................... 6-26
  255.                  The SET_VARIABLE Command ...................... 6-27
  256.  
  257.  
  258.  
  259.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  260.  
  261.  
  262.  
  263.  
  264.  
  265.         Ada Symbolic Debugger User's Guide                  Page: iv
  266.  
  267.  
  268.  
  269.  
  270.  
  271.         APPENDIX A - ALPHABETICAL COMMAND SUMMARY .............. A-1
  272.  
  273.  
  274.  
  275.         APPENDIX B - DIAGNOSTIC MESSAGES ...................... B -1
  276.                      B.1  WIS_DEBUG Shell Diagnostics ......... B1-1
  277.                      B.1  Source Instrumenter Diagnostics ..... B2-1
  278.                      B.2  Symbolic Debugger Diagnostics ....... B3-1
  279.  
  280.  
  281.  
  282.         APPENDIX C - SPECIFIC WIS_DEBUG LIMITATIONS ............ C-1
  283.  
  284.  
  285.  
  286.         APPENDIX D - REHOSTING INFORMATION ..................... D-1
  287.  
  288.  
  289.  
  290.         APPENDIX E - TERMINAL CAPABILITIES FILE FORMAT ......... E-1
  291.  
  292.  
  293.  
  294.         APPENDIX F - HELP FILE FORMAT .......................... F-1
  295.  
  296.  
  297.  
  298.         APPENDIX G - GLOSSARY OF TERMS AND DEFINITIONS ......... G-1
  299.  
  300.  
  301.  
  302.         APPENDIX H - COMMAND INDEX AND QUICK REFERENCE ......... H-1
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  326.  
  327.  
  328.  
  329.  
  330.  
  331.         Ada Symbolic Debugger User's Guide               Page: 1 - 1
  332.  
  333.  
  334.  
  335.  
  336.         
  337.                                  CHAPTER 1
  338.  
  339.                                 INTRODUCTION
  340.         
  341.  
  342.  
  343.              WIS_DEBUG  is a symbolic debugger for computer programs 
  344.         implemented in the Ada programming language.  Its purpose is 
  345.         to  enable  the user to locate errors in  program  logic  by 
  346.         providing  a  "window" into the program's execution  through 
  347.         which the user can monitor,  and to a certain extent  alter, 
  348.         the  status  and  flow of control of the Ada  program  under 
  349.         test.
  350.  
  351.              This  manual  describes the initial  implementation  of 
  352.         WIS_DEBUG  on  the DEC VAX under VMS 4.1 using the  VAX  Ada 
  353.         Compiler System (ACS) Version 1.0.
  354.  
  355.  
  356.         
  357.         1.1  TOOL OVERVIEW
  358.         
  359.              WIS_DEBUG   is  one  of  several  tools  developed   by 
  360.         Intermetrics,  Inc.  that provide testing and analysis  aids 
  361.         for  the development of computer programs implemented in the 
  362.         Ada programming language.  It consists of:
  363.  
  364.         1)  A source instrumenter that parses the target Ada program 
  365.             and  inserts  "hooks"  that  transfer  control  to   the 
  366.             symbolic  debugger  upon  entry to and  exit  from  each 
  367.             instrumented  Ada  program unit and at each  breakpoint. 
  368.             Not  every  program  unit  in the Ada  program  must  be 
  369.             instrumented by the source  instrumenter.  However,  the 
  370.             main  program unit and each Ada program unit which is to 
  371.             be visible to the debugger must be instrumented prior to 
  372.             compilation.
  373.  
  374.         2)  A Symbolic Debugger that gains control upon entry to  or 
  375.             exit   from  each  instrumented  Ada  program  unit  and 
  376.             breakpoint.  The debugger contains a user interface that 
  377.             enables the user to control the execution of the program 
  378.             under  test and to examine and modify program  variables 
  379.             at the Ada Language level without regard for such things 
  380.             as absolute computer memory locations,  program counters 
  381.             and status registers, or internal data representations.
  382.  
  383.  
  384.         3)  A  user friendly shell that enables the user  to  access 
  385.             the Source Instrumenter,  the Symbolic Debugger, the Ada 
  386.             compiler  and linker being used for program development, 
  387.             and to manage the WIS_DEBUG Program Library. 
  388.  
  389.  
  390.  
  391.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  392.  
  393.  
  394.  
  395.  
  396.  
  397.         Ada Symbolic Debugger User's Guide               Page: 1 - 2
  398.  
  399.  
  400.  
  401.  
  402.              WIS_DEBUG  is implemented entirely in Ada and,  in  the 
  403.         spirit of Ada,  has been designed to be highly portable.  To 
  404.         the  fullest  extent  possible WIS_DEBUG  is  both  compiler 
  405.         independent  and  host  computer  independent.    The source
  406.         instrumenter  is  based on the front end of an Ada  compiler 
  407.         that   supports  the  full  Ada  Language.    All   symbolic 
  408.         information  and statement "hooks" required by the  debugger 
  409.         at  runtime  are inserted into a copy of  the  original  Ada 
  410.         source  program  by the instrumenter.  This  unique  feature 
  411.         eliminates  the traditional reliance of "symbolic" debuggers 
  412.         on  symbol information generated by the compiler and  linker 
  413.         being  used for program development,  thereby  enabling  the 
  414.         tool to be readily ported to other host Ada environments and 
  415.         computers.
  416.  
  417.  
  418.         
  419.         1.2  CAPABILITIES
  420.         
  421.              WIS_DEBUG    contains   extensive   capabilities    for 
  422.         controlling  the  execution  of  the  target  Ada   program, 
  423.         examining  and modifying program variables,  and  monitoring 
  424.         program  status.  The features and capabilities that make it 
  425.         both a powerful and flexible software development tool are:
  426.  
  427.  
  428.            1. It  is symbolic.  It enables the user to step  through 
  429.               and analyze the execution of an Ada program at the Ada 
  430.               language  level and using the same program unit  names 
  431.               and variable names as the original source program.
  432.  
  433.  
  434.            2. It  is interactive.  The user may set  breakpoints  to 
  435.               suspend  program execution at a specified point.  When 
  436.               the  breakpoint is reached control is returned to  the 
  437.               user  allowing  him  to  examine  and  modify  program 
  438.               variables,  examine  the status of all program  units, 
  439.               set other breakpoints, and resume execution.
  440.  
  441.  
  442.            3. It  supports both SCREEN mode and NON SCREEN mode.  In 
  443.               the  SCREEN  mode WIS_DEBUG divides  the  screen  into 
  444.               three independently scrolled regions:
  445.  
  446.               * an OUTPUT region for input of debugger  commands and 
  447.                 output of debugger messages and diagnostics.
  448.  
  449.               * a USER region for  input and  output by  the  user's 
  450.                 program.
  451.  
  452.               * a SOURCE region for displaying a source  listing  of 
  453.                 the currently executing compilation unit.
  454.  
  455.  
  456.  
  457.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  458.  
  459.  
  460.  
  461.  
  462.  
  463.         Ada Symbolic Debugger User's Guide               Page: 1 - 3
  464.  
  465.  
  466.  
  467.  
  468.  
  469.            4. It  has  a powerful yet simple User Interface  Command 
  470.               Language that supports:
  471.  
  472.               * Setting   and  resetting  of  breakpoints  at   user 
  473.                 specified locations to suspend program execution.
  474.  
  475.               * Single step program execution.
  476.  
  477.               * Examination and modification of program variables.
  478.  
  479.               * Examination  of  program status,  such as  statement 
  480.                 execution  history  and  status  of  active  program 
  481.                 units, including tasks.
  482.  
  483.               * User defined "keyboard macros".
  484.  
  485.               * "Canned" input command files.
  486.  
  487.               * An extensive on-line help facility.
  488.  
  489.  
  490.            5. It is extensible:
  491.  
  492.               * User  defined macros and canned input command  files 
  493.                 enable  the user to extend and customize the command 
  494.                 language.
  495.  
  496.               * Help  files can be modified or extended  to  provide 
  497.                 additional  on-line help for "standard" user defined 
  498.                 macros  and  canned  command  files  or  to  provide 
  499.                 project or system specific information.
  500.  
  501.               * Runtime  terminal configuration with the ability  to 
  502.                 add support for virtually any type of SCREEN mode or 
  503.                 NON SCREEN mode terminal 
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  524.  
  525.  
  526.  
  527.  
  528.  
  529.         Ada Symbolic Debugger User's Guide               Page: 1 - 4
  530.  
  531.  
  532.  
  533.  
  534.         
  535.         1.3  GENERAL LIMITATIONS
  536.         
  537.              WIS_DEBUG  is  a full-featured  symbolic  debugger  and 
  538.         should  contain  all of the features you will need to  debug 
  539.         your Ada programs.   However,  certain trade-offs have  been 
  540.         made  in  order to avoid host and compiler dependencies  and 
  541.         achieve the original design goal of portability.
  542.  
  543.              Many WIS_DEBUG limitations result from limitations  and 
  544.         restrictions  imposed by the Ada Language.   All  interfaces 
  545.         between  the  user's program and the Symbolic  Debugger  are 
  546.         accompilished through source instrumentation.   As a result, 
  547.         the  Symbolic Debugger actually becomes a part of the user's 
  548.         program  when it is executed.   Thus,  it is subject to  the 
  549.         same  restrictions,  limitations,  and  constraints  as  the 
  550.         user's program.   For example, constants may be examined but 
  551.         they  may  not be modified.   On the other  hand,  OUT  mode 
  552.         parameters  in subprograms may be modified but they may  not 
  553.         be examined.
  554.  
  555.              Other  Ada imposed limitations include such things  as: 
  556.         variables may only be assigned values within the legal range 
  557.         constraints for the declared type; private types and limited 
  558.         private  types  are  only visible within  the  body  of  the 
  559.         package in which they are declared.
  560.  
  561.              Limitations  on the size of the user's program  may  or 
  562.         may not exist depending the system being used, the amount of 
  563.         memory available,  and whether the system utilizes a virtual 
  564.         memory   management  scheme.    Source  instrumentation  can 
  565.         cause  the instrumented program to become very  large.   The 
  566.         amount  of instrumentation inserted into the user's  program 
  567.         is  a  function of many factors such as the number  of  type 
  568.         declarations, the number of objects declared, and the number 
  569.         of  program  units.    In  general,  a  large  program  with 
  570.         relatively few subprograms, type declarations, and variables 
  571.         will result in only a small percentage increase in size  due 
  572.         to instrumentation.  In contrast,  a very small program with 
  573.         many small subprograms and many type and object declarations 
  574.         may increase several times in size. 
  575.  
  576.              A  complete list of all known limitations is  presented 
  577.         in  Appendix C.   However,  it uses terminology that may  be 
  578.         unfamiliar  to you until after you have read Chapters 3,  4, 
  579.         5,  and 6.   Therefore,  it is suggested that you read these 
  580.         chapters  first  to  become familiar with  each  of  various 
  581.         features  of  the  debugger before  reviewing  the  specific 
  582.         limitations presented in Appendix C.
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  590.  
  591.  
  592.  
  593.  
  594.  
  595.         Ada Symbolic Debugger User's Guide               Page: 2 - 1
  596.  
  597.  
  598.  
  599.  
  600.         
  601.                                  CHAPTER 2
  602.  
  603.                            HOW TO USE THIS MANUAL
  604.         
  605.  
  606.              This  User's Guide is intended to serve not only  as  a 
  607.         reference manual,  but also as a tutorial.   It is organized 
  608.         in the following manner.
  609.  
  610.              Chapters 3 through 6 present a step by step tutorial on 
  611.         the operation and use of WIS_DEBUG. As a first time user you 
  612.         should read each of these chapters thoroughly.  Each feature 
  613.         of  WIS_DEBUG  is described in full detail in much the  same 
  614.         order  as you will use them in a typical debugging  session.  
  615.         Numerous examples are used throughout to demonstrate the use 
  616.         of each command and feature.
  617.  
  618.           *  Chapter 3 describes the Program Library,  how to create 
  619.              it, and its importance to the operation of WIS_DEBUG.
  620.  
  621.           *  Chapter  4 introduces you to the WIS_DEBUG  Shell.   In 
  622.              this  chapter  you will learn how to use the  shell  to 
  623.              instrument, compile, and link your Ada source programs. 
  624.              In addition, you will learn how use the shell to manage 
  625.              your Program Library.
  626.  
  627.           *  Chapter  5  will show you how to execute  the  Symbolic 
  628.              Debugger  with your instrumented program.   It explains 
  629.              how  to set the program library to enable the  debugger 
  630.              to find the the files it will need during execution. It 
  631.              also  explains  how  to create a  log  file  to  record 
  632.              information about the execution of your program.
  633.  
  634.           *  Chapter   6  presents  a  detailed  discussion  of  the 
  635.              Symbolic  Debugger  and each of its many  commands  and 
  636.              features.   You  will  learn how to  step  through  the 
  637.              execution of your program, monitor the status of active 
  638.              tasks  and other program units,  and examine and modify 
  639.              program variables to alter the flow of control.
  640.  
  641.  
  642.              Appendices  A,  B  and  C are intended to  serve  as  a 
  643.         reference   manual.    They   provide   valuable   reference 
  644.         information that is organized in such a manner as to  enable 
  645.         you to quickly locate and use each WIS_DEBUG feature.
  646.  
  647.           *  Appendix  A  presents an alphabetical summary  of  each 
  648.              WIS_DEBUG Shell and Symbolic Debugger command.
  649.  
  650.           *  Appendix  B  presents  a  summary  of  all   diagnostic 
  651.              messages  with information about how you should respond 
  652.              to each message.
  653.  
  654.  
  655.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  656.  
  657.  
  658.  
  659.  
  660.  
  661.         Ada Symbolic Debugger User's Guide               Page: 2 - 2
  662.  
  663.  
  664.  
  665.  
  666.           *  Appendix   C   contains  specific   information   about 
  667.              WIS_DEBUG limitations. 
  668.  
  669.  
  670.  
  671.              Appendices  D,  E,  and F provide valuable  information 
  672.         pertinent  to  rehosting  WIS_DEBUG  to  other  systems   or 
  673.         extending its capabilities.
  674.  
  675.           *  Appendix  D contains information about all known system 
  676.              and implementation dependencies.
  677.  
  678.           *  Appendix E describes the Terminal Capabilities File and 
  679.              provides  information  necessary  to  add  support  for 
  680.              additional SCREEN type terminals.
  681.  
  682.           *  Appendix  F describes the format of the help files  and 
  683.              provides  information necessary to add and modify  help 
  684.              topics.
  685.  
  686.  
  687.              Appendix  G  contains  a glossary of  terms  and  their 
  688.         definitions within the context of this user's guide.
  689.  
  690.              Appendix  H  is  an index and quick  reference  to  all 
  691.         WIS_DEBUG commands.  
  692.  
  693.  
  694.              
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  722.  
  723.  
  724.  
  725.  
  726.  
  727.         Ada Symbolic Debugger User's Guide               Page: 3 - 1
  728.  
  729.  
  730.  
  731.         
  732.                                  CHAPTER 3
  733.  
  734.                    THE SYMBOLIC DEBUGGER PROGRAM LIBRARY
  735.         
  736.  
  737.              WIS_DEBUG uses the concept of a Program Library. Before 
  738.         using  WIS_DEBUG it will be necessary to set up the  Program 
  739.         Library as it will be used on your system.  Depending on the 
  740.         Ada  compiler  system you are using,  the WIS_DEBUG  Program 
  741.         Library  may  or may not be common with  other  Ada  program 
  742.         libraries being used by your compiler and linker.
  743.  
  744.              The   WIS_DEBUG   Program  Library  consists   of   two 
  745.         libraries, or directories:
  746.  
  747.              * the BASE Program Library
  748.  
  749.              * the CURRENT Program Library
  750.  
  751.         
  752.         3.1  THE BASE PROGRAM LIBRARY
  753.         
  754.              The  Base  Program  Library   is set  up  at  the  time 
  755.         WIS_DEBUG  is installed.  Instructions for creating the Base 
  756.         Program  Library  are contained in  the  Installation  Guide 
  757.         included with this manual.
  758.  
  759.              The  WIS_DEBUG  Base Program Library  contains  certain 
  760.         static  non-transient files that are common to all users  of 
  761.         the debugger.
  762.  
  763.              * Help files used during execution
  764.  
  765.              * The  Terminal  Capabilities File that  describes  the 
  766.                attributes  of each different type of terminal to  be 
  767.                used in SCREEN mode with the debugger.
  768.  
  769.         
  770.         3.2  THE CURRENT PROGRAM LIBRARY
  771.         
  772.              The  WIS_DEBUG Current Program Library contains dynamic 
  773.         information  that  is  created and/or  used  by  the  Source 
  774.         Instrumenter   and   Symbolic  Debugger  during   execution.  
  775.         Although  it is not generally considered to be a  good  idea 
  776.         due to its dynamic nature,  a Current Program Library may be 
  777.         shared by two or more users working on the same project.   A 
  778.         single user may also work with more than one Current Program 
  779.         Library,   at  different  times,   for  different  projects.  
  780.         However,  in general, you will have a single Current Program 
  781.         Library that is used only by you.
  782.  
  783.  
  784.  
  785.  
  786.  
  787.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  788.  
  789.  
  790.  
  791.  
  792.  
  793.         Ada Symbolic Debugger User's Guide               Page: 3 - 2
  794.  
  795.  
  796.  
  797.  
  798.              WIS_DEBUG  contains a built in Program Library  Manager 
  799.         that  creates  and maintains numerous files in  the  Current 
  800.         Program  Library  during the instrumentation  and  debugging 
  801.         process.  In  addition,  it maintains a catalog of all files 
  802.         created  by  WIS_DEBUG to enable it  to  locate  information 
  803.         needed during execution.
  804.  
  805.              The  Current Program Library,  depending on the  system 
  806.         you  are  using,  will normally be a directory and  must  be 
  807.         created   prior  to  using  the  debugger.   It  is   highly 
  808.         recommended that the Current Program Library be created as a 
  809.         subdirectory  of the directory in which your Ada source code 
  810.         will be located.  It is also important that each user of the 
  811.         library  have  Read,   Write,   Execute  and  Delete  access 
  812.         privileges.   The following example shows how this might  be 
  813.         done under DEC VAX VMS 4.1.
  814.  
  815.              --------------------------------------------------
  816.              EXAMPLE:
  817.              --------------------------------------------------
  818.  
  819.              $ CREATE/DIRECTORY DRA0:[USER.NOSC.CPL] <cr>
  820.              $ SET PROTECTION=O:RWED DRA0:[USER.NOSC]CPL.DIR <cr>
  821.  
  822.              --------------------------------------------------
  823.  
  824.              In the above example, it is assumed that the Ada source 
  825.         files to be instrumented and debugged will be located in the 
  826.         directory  DRA0:[USER.NOSC].   The  Current Program  Library 
  827.         created is "DRA0:[USER.NOSC.CPL]".  The name of your Current 
  828.         Program  Library  may  be whatever  you  choose  within  the 
  829.         limitations   of  your  system  and  the  access  privileges 
  830.         provided to you.
  831.  
  832.              When  the Current Program Library has been created  you 
  833.         may begin using it for program development and testing  with 
  834.         WIS_DEBUG.  Prior  to  each  session with the  debugger  you 
  835.         should  set your default working directory to the  directory 
  836.         that  contains your Ada source files to be instrumented  and 
  837.         debugged.
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  854.  
  855.  
  856.  
  857.  
  858.  
  859.         Ada Symbolic Debugger User's Guide               Page: 4 - 1
  860.  
  861.  
  862.  
  863.  
  864.         
  865.                                  CHAPTER 4
  866.  
  867.                          USING THE WIS_DEBUG SHELL
  868.         
  869.  
  870.  
  871.              The  WIS_DEBUG  Shell is a  "friendly"  interface  that 
  872.         enables  you to instrument and debug your Ada programs  with 
  873.         relative ease.  Its primary functions include:
  874.  
  875.              1. Program Library Management
  876.  
  877.              2. Source Instrumentation
  878.  
  879.              3. Compilation and linking 
  880.  
  881.              4. Execution of the Symbolic Debugger
  882.  
  883.  
  884.              WIS_DEBUG  contains an extensive on-line HELP  facility 
  885.         to  guide  you through each of the  various  functions.   In 
  886.         addition, it contains a SYSTEM interface that enables you to 
  887.         execute system commands and other programs, such as editors, 
  888.         without leaving the shell.
  889.  
  890.              Prior  to invoking WIS_DEBUG you must set your  working 
  891.         directory  to  the  directory that contains the  Ada  source 
  892.         programs  and subprograms to be instrumented  and  debugged.  
  893.         The  method of invoking WIS_DEBUG will vary depending on the 
  894.         system being used.   Examples presented here assume that the 
  895.         system is a DEC VAX running VMS 4.0 or later.  WIS_DEBUG  is 
  896.         invoked as follows:
  897.  
  898.  
  899.              --------------------------------------------------
  900.              EXAMPLE:
  901.              --------------------------------------------------
  902.  
  903.              $ SET DEFAULT dddd:[working_directory] <cr>
  904.              $ RUN WIS_DEBUG <cr>
  905.  
  906.  
  907.                 where dddd: is the logical device (e.g., DRA0)
  908.  
  909.                      working_directory is the full path name of 
  910.                      the directory that contains the Ada source 
  911.                      programs to be instrumented and debugged
  912.  
  913.              --------------------------------------------------
  914.  
  915.  
  916.  
  917.  
  918.  
  919.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  920.  
  921.  
  922.  
  923.  
  924.  
  925.         Ada Symbolic Debugger User's Guide               Page: 4 - 2
  926.  
  927.  
  928.  
  929.  
  930.              WIS_DEBUG   will  begin  execution  by  announcing  the 
  931.         program version number and a request for command input.
  932.  
  933.              --------------------------------------------------
  934.              EXAMPLE:  
  935.              --------------------------------------------------
  936.              $ RUN WIS_DEBUG <cr>
  937.  
  938.              SYMBOLIC DEBUGGER - VERSION 1.0
  939.              SOURCE INSTRUMENTER AND PROGRAM LIBRARY MANAGEMENT
  940.              please enter desired option
  941.              enter ? for a list of options available
  942.  
  943.              --------------------------------------------------
  944.  
  945.  
  946.         
  947.         4.1  THE "?" COMMAND (Show Command Options)
  948.         
  949.              Any  time  that the WIS_DEBUG Shell is at  the  command 
  950.         level you may list the available command options by entering 
  951.         a  "?"  followed by a carriage  return.   WIS_DEBUG  command 
  952.         options  will  be  displayed in the  order  that  they  will 
  953.         normally be executed. Thus, it can be used much as you would 
  954.         use a roadmap.
  955.  
  956.         --------------------------------------------------
  957.         EXAMPLE: 
  958.         --------------------------------------------------
  959.         please enter desired option
  960.         ? <cr>
  961.  
  962.         WIS_DEBUG Options are:  
  963.  
  964.           Library Management
  965.             SEt_library(PROGRAM_LIBRARY); --> Set program library
  966.             Delete(UNIT_NAME);            --> Delete unit from pgm lib
  967.  
  968.           Execution Control
  969.             SOurce_instrument;       --> Instrument Ada source file
  970.             Compile(SOURCE_FILE);    --> Compile instrumented unit
  971.             LINk(COMPILATION_UNIT);  --> Link instrumented program
  972.             Run(COMPILATION_UNIT);   --> Run Debugger with instr pgm
  973.             Quit;  --> or Exit;      --> Quit WIS_DBUG and Exit
  974.  
  975.           SYstem_command(COMMAND);   --> Execute a system command
  976.  
  977.           Help                       --> Help for commands & features
  978.  
  979.         please enter desired option
  980.          
  981.         --------------------------------------------------
  982.  
  983.  
  984.  
  985.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  986.  
  987.  
  988.  
  989.  
  990.  
  991.         Ada Symbolic Debugger User's Guide               Page: 4 - 3
  992.  
  993.  
  994.  
  995.         
  996.         4.2  THE SET_LIBRARY COMMAND
  997.         
  998.              If  the current directory is not the WIS_DEBUG  Program 
  999.         Library  then  the   name  of the program  library  must  be 
  1000.         entered  prior  to  using the  SOURCE_INSTRUMENT  or  DELETE 
  1001.         commands.  The name of the program library will be  appended 
  1002.         to  the front of all file names by the source  instrumenter. 
  1003.         Therefore,  it  must be entered EXACTLY as required for  the 
  1004.         system you are using.  An example of a valid program library 
  1005.         name for the DEC VAX under VMS 4.0 is shown below.
  1006.  
  1007.  
  1008.              --------------------------------------------------
  1009.              EXAMPLE: 
  1010.              --------------------------------------------------
  1011.  
  1012.              please enter desired option
  1013.              SET_LIBRARY( [.PGMLIB] ); <cr>
  1014.              lib = [.PGMLIB]
  1015.  
  1016.              please enter desired option
  1017.              --------------------------------------------------
  1018.  
  1019.  
  1020.         
  1021.         4.3  THE DELETE COMMAND
  1022.         
  1023.              The  Program  Library  Manager that is built  into  the 
  1024.         Source  Instrumenter automatically adds  newly  instrumented 
  1025.         units to the Program Library Catalog and updates the catalog 
  1026.         when   previously  instrumented  units  are  reinstrumented. 
  1027.         However,  instrumented compilation units that are no  longer 
  1028.         needed   should  be  purged  from  the  catalog  using   the 
  1029.         WIS_DEBUG DELETE option. 
  1030.  
  1031.  
  1032.              --------------------------------------------------
  1033.              EXAMPLE: 
  1034.              --------------------------------------------------
  1035.  
  1036.              please enter desired option
  1037.              DELETE(OLD_PROGRAM); <cr>
  1038.  
  1039.              please enter desired option
  1040.  
  1041.  
  1042.              Where  OLD_PROGRAM  is the name of  a  compilation 
  1043.              unit (WITHOUT EXTENSION) that is no longer needed.
  1044.              --------------------------------------------------
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.         Ada Symbolic Debugger User's Guide               Page: 4 - 4
  1058.  
  1059.  
  1060.  
  1061.         
  1062.         4.4  THE SOURCE_INSTRUMENT COMMAND
  1063.         
  1064.              The  Source Instrumenter inserts "action" routines  and 
  1065.         calls  to  the Symbolic Debugger into a copy of  the  user's 
  1066.         original source program.  Calls to the Symbolic Debugger are 
  1067.         called  breakpoints.  Breakpoints provide information  about 
  1068.         the  program as it runs and pass certain user requests  back 
  1069.         to   the  action  routines  for  processing.    The   Source 
  1070.         Instrumenter adds calls to inform the Symbolic Debugger:
  1071.  
  1072.             *  of the names and types of units in the program.
  1073.  
  1074.             *  when each unit is entered and exited.
  1075.  
  1076.             *  when a statement in the source program has executed.
  1077.  
  1078.             *  the value of program variables and constants
  1079.  
  1080.  
  1081.              Only  the main program unit and program units that will 
  1082.         be  debugged  must be instrumented.   This includes  package 
  1083.         specifications  that declare data types or objects that  you 
  1084.         want  to  be visible to  the  debugger.   Compilation  units 
  1085.         should be instrumented in compilation order.
  1086.          
  1087.              To  invoke the Source Instrumenter the user may enter a 
  1088.         procedure   call  to  the  tool  in  Ada  format   including 
  1089.         parameters.   The  procedure  specification for  the  Source 
  1090.         Instrumenter is as follows:
  1091.  
  1092.              procedure SOURCE_INSTRUMENT(
  1093.                 INPUT_FILE               : in FILE_NAME;
  1094.                 SOURCE_LISTING_FILE      : in FILE_NAME;
  1095.                 INSTRUMENTED_SOURCE_FILE : in FILE_NAME );
  1096.  
  1097.              where:  INPUT_FILE is the user's Ada source file.
  1098.  
  1099.                      SOURCE_LISTING_FILE is a pretty printed version 
  1100.                      of the user's source with breakpoints listed.
  1101.  
  1102.                      INSTRUMENTED_SOURCE_FILE is the file containing 
  1103.                      the instrumented source.
  1104.  
  1105.                      FILE_NAME is a string.
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.         Ada Symbolic Debugger User's Guide               Page: 4 - 5
  1124.  
  1125.  
  1126.  
  1127.  
  1128.              --------------------------------------------------
  1129.              EXAMPLE:  
  1130.              --------------------------------------------------
  1131.  
  1132.              please enter desired option
  1133.              source_instrument(test.ada, test.lis, test.si); <cr>
  1134.  
  1135.              source_file = TEST.ADA
  1136.              source_listing = TEST.LIS
  1137.              instrumented_source = TEST.SI
  1138.  
  1139.              Do you wish to compile the instrumented source (Y/N)? Y <cr>  
  1140.  
  1141.              please enter desired option
  1142.              --------------------------------------------------
  1143.  
  1144.  
  1145.              As shown in the previous example,  when instrumentation 
  1146.         is  completed  the Source Instrumenter will ask you  if  you 
  1147.         want to compile the instrumented source. If you respond with 
  1148.         a "Y" then the Ada compiler will be invoked and execution of 
  1149.         the shell will be suspended.   When compilation is completed 
  1150.         execution of the shell will be resumed.  If you respond with 
  1151.         "N"  then  the  instrumented source will  not  be  compiled.  
  1152.         If you choose not to compile the unit after  instrumentation 
  1153.         then  you  may compile it at a later time using the  COMPILE 
  1154.         command.
  1155.  
  1156.              If   the Source Instrumenter is invoked in Ada  format, 
  1157.         named  association  of  parameters may be used  as  well  as 
  1158.         positional parameters.  Standard Ada rules for postional and 
  1159.         named association of parameters are used.
  1160.  
  1161.              Another  method of invoking the Source Instrumenter  is 
  1162.         to enter the tool name and be prompted for each of the input 
  1163.         parameters.
  1164.  
  1165.  
  1166.              --------------------------------------------------
  1167.              EXAMPLE: 
  1168.              --------------------------------------------------
  1169.  
  1170.              please enter desired option
  1171.              SOURCE_INSTRUMENT; <cr>
  1172.  
  1173.              Enter Source_File  => TEST.ADA <cr>
  1174.              Enter Source_Listing_File => TEST.LIS <cr>
  1175.              Enter Instrumented_Source_File => TEST.SI <cr>
  1176.  
  1177.              source_file = TEST.ADA
  1178.              source_listing = TEST.LIS
  1179.              instrumented_source = TEST.SI
  1180.              --------------------------------------------------
  1181.  
  1182.  
  1183.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.         Ada Symbolic Debugger User's Guide               Page: 4 - 6
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.              The  name  ot the source file must always  be  entered. 
  1196.         However, default file names may be used for the listing file 
  1197.         and  instrumented source file by entering a carriage  return 
  1198.         when prompted for their names.
  1199.  
  1200.  
  1201.              --------------------------------------------------
  1202.              EXAMPLE: 
  1203.              --------------------------------------------------
  1204.  
  1205.              please enter desired option
  1206.              SOURCE_INSTRUMENT; <cr>
  1207.  
  1208.              Enter Source_File => TEST.ADA <cr>
  1209.              Enter Source_Listing_File => <cr>
  1210.              Enter Instrumented_Source_File => <cr>
  1211.  
  1212.              source_file = TEST.ADA
  1213.              source_listing = SD_TEMP.OUT
  1214.              instrumented_source = TEST.INS
  1215.              --------------------------------------------------
  1216.  
  1217.         
  1218.         Instrumenting Package Specifications
  1219.         
  1220.              In  order  to  trace variables declared  in  a  package 
  1221.         specification  or  variables  whose type  is  defined  in  a 
  1222.         package  specification,  the  package specification must  be 
  1223.         instrumented.  When a package specification is instrumented, 
  1224.         several  files will be created in the program  library  that 
  1225.         contain the information the Symbolic Debugger will need from 
  1226.         the package specification.
  1227.  
  1228.              When a unit is instrumented that "withs" a package, the 
  1229.         tracing  information  for  the package (contained  in  files 
  1230.         created by the souce instrumenter) will be used to construct 
  1231.         tracing  routines for the variables and types  contained  in 
  1232.         the  package specification.   Therefore,  compilation  units 
  1233.         should  be instrumented in compilation order to insure  that 
  1234.         all tracing information is available.
  1235.  
  1236.              A   library   unit   package  specification   MUST   be 
  1237.         instrumented  if ANY of the following conditions is TRUE:
  1238.  
  1239.              1. It contains type definitions used in any other units 
  1240.                 that will be instrumented, or
  1241.  
  1242.              2. It  contains a generic specification whose body will 
  1243.                 be instrumented, or
  1244.  
  1245.              3. It  declares objects that you want to  have  visible 
  1246.                 during debugging.
  1247.  
  1248.  
  1249.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.         Ada Symbolic Debugger User's Guide               Page: 4 - 7
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.              If  the package is not generic and if it does not  have 
  1262.         any generic declarations in it, instrumenting will NOT alter 
  1263.         the  package specification,  therefore you may not  need  to 
  1264.         recompile  it.   You will be given the option of whether  to 
  1265.         include the package specification in the instrumented source 
  1266.         file.   If you do,  when you compile the instrumented source 
  1267.         file, you will also compile your package specification.  YOU 
  1268.         WILL  HAVE  TO RECOMPILE THE CORRESPONDING PACKAGE BODY  AND 
  1269.         ALL DEPENDENT UNITS.
  1270.  
  1271.              If  you do not include the package specifiction in  the 
  1272.         source  file,  the  package specification must  be  compiled 
  1273.         before  compiling the instrumented source file.   If you  do 
  1274.         include it,  you can compile both your package specification 
  1275.         and the instrumented source file at the same time.
  1276.  
  1277.              If  the package is a generic package  declaration,  its 
  1278.         specification  will be altered.  You will not be  given  the 
  1279.         option  not  to  include the package  specification  in  the 
  1280.         instrumented  source  file.  YOU WILL HAVE TO RECOMPILE  THE 
  1281.         CORRESPONDING PACKAGE BODY AND ALL DEPENDENT UNITS.
  1282.  
  1283.              If   the  package  specification  contains  a   generic 
  1284.         declaration  whose  body you want to  instrument,  you  must 
  1285.         include the package specification in the instrumented source 
  1286.         file when given the option.  Your package specification will 
  1287.         be altered, and YOU WILL HAVE TO RECOMPILE THE CORRESPONDING 
  1288.         PACKAGE BODY AND ALL DEPENDENT UNITS.
  1289.  
  1290.              If the Ada source file you are instrumenting contains a 
  1291.         package  specification then the Source Instrumenter will ask 
  1292.         you  whether  or  not you want  the   package  specification 
  1293.         included in the instrumented source.
  1294.  
  1295.  
  1296.              --------------------------------------------------
  1297.              EXAMPLE: 
  1298.              --------------------------------------------------
  1299.  
  1300.              Instrumenting the package specification for TEST
  1301.  
  1302.              Do you want this package specification included in 
  1303.              the instrumented source?
  1304.              Y/N/H or ? for Help 
  1305.  
  1306.              --------------------------------------------------
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.         Ada Symbolic Debugger User's Guide               Page: 4 - 8
  1322.  
  1323.  
  1324.  
  1325.  
  1326.  
  1327.              If  you  respond with "H" or "?" then a short  tutorial 
  1328.         will  be  displayed to help you decide whether  or  not  you 
  1329.         should   include   the   package   specification   in   your 
  1330.         instrumented source.
  1331.  
  1332.              If  you  respond  with  "Y" for YES  then  the  package 
  1333.         specification  will  be  included  with  your   instrumented 
  1334.         source.   If you respond with "N" for NO then it will not be 
  1335.         included with your instrumented source.
  1336.  
  1337.  
  1338.         
  1339.         4.5  THE COMPILE COMMAND
  1340.         
  1341.              After  a  unit  has been  instrumented  by  the  Source 
  1342.         Instrumenter  it  must be compiled using your Ada  compiler.  
  1343.         If you did not select the automatic compilation option after 
  1344.         source instrumentation then you may use the COMPILE  command 
  1345.         to  avoid  exiting  the shell.   The format of  the  COMPILE 
  1346.         command is:
  1347.  
  1348.                        COMPILE(SOURCE_FILE);
  1349.  
  1350.         where SOURCE_FILE is the INSTRUMENTED_SOURCE_FILE created by 
  1351.         the Source Instrumenter.
  1352.  
  1353.  
  1354.              --------------------------------------------------
  1355.              EXAMPLE: 
  1356.              --------------------------------------------------
  1357.  
  1358.              please enter desired option
  1359.              COMPILE(TEST.INS); <cr>
  1360.  
  1361.              please enter desired option
  1362.  
  1363.              --------------------------------------------------
  1364.  
  1365.  
  1366.              Execution  of  the  WIS_DEBUG shell will  be  suspended 
  1367.         until the compilation is complete.
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.         Ada Symbolic Debugger User's Guide               Page: 4 - 9
  1388.  
  1389.  
  1390.  
  1391.            
  1392.         
  1393.         4.6  THE LINK COMMAND
  1394.         
  1395.              When  all instrumented and  uninstrumented  compilation 
  1396.         units  have  been compiled,  you must link the main  program 
  1397.         with  the  run time Symbolic Debugger.   This  may  be  done 
  1398.         without  exiting  the  WIS_DEBUG shell  by  using  the  LINK 
  1399.         command.  The executeable load module will be created in the 
  1400.         current working directory.  The format of the command is:
  1401.  
  1402.                        LINK(COMPILATION_UNIT);
  1403.  
  1404.         where COMPILATION_UNIT is the name of the main program unit.
  1405.  
  1406.  
  1407.              --------------------------------------------------
  1408.              EXAMPLE: 
  1409.              --------------------------------------------------
  1410.  
  1411.              please enter desired option
  1412.              LINK(TEST); <cr>
  1413.  
  1414.              %ACS-I-CL_LINKING, Invoking the VAX/VMS Linker
  1415.  
  1416.              please enter desired option
  1417.  
  1418.              --------------------------------------------------
  1419.  
  1420.  
  1421.         
  1422.         4.7  THE RUN COMMAND
  1423.         
  1424.              When  all  program units that are to be  debugged  have 
  1425.         been instrumented and compiled and the main program has been 
  1426.         linked,  you are ready to begin debugging.  The RUN  command 
  1427.         enables  you  to  execute the Symbolic  Debugger  with  your 
  1428.         instrumented program.  The format of the RUN command is:
  1429.  
  1430.                        RUN(COMPILATION_UNIT);
  1431.  
  1432.         where COMPILATION_UNIT is the name of the main program unit.
  1433.  
  1434.  
  1435.              --------------------------------------------------
  1436.              EXAMPLE: 
  1437.              --------------------------------------------------
  1438.  
  1439.              please enter desired option
  1440.              RUN(TEST); <cr>
  1441.  
  1442.              --------------------------------------------------
  1443.  
  1444.  
  1445.  
  1446.  
  1447.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.         Ada Symbolic Debugger User's Guide               Page: 4 - 10
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.              The  WIS_DEBUG shell will be suspended during execution 
  1460.         of  the Symbolic Debugger .   When the debugger  terminates, 
  1461.         execution  of  the  shell  will  be  resumed.    A  detailed 
  1462.         discussion   on  using  the  Symbolic  Debugger  with   your 
  1463.         instrumented program is presented in Chapters 5 and 6.
  1464.  
  1465.  
  1466.         
  1467.         4.8  THE SYSTEM_COMMAND COMMAND
  1468.         
  1469.              You  may  frequently  find it necessary  to  execute  a 
  1470.         system  command  or another program  during a  session  with 
  1471.         WIS_DEBUG.  SYSTEM_COMMAND  enables you to do  this  without 
  1472.         having to exit the shell.
  1473.  
  1474.              This  feature  can be quite useful for such  things  as 
  1475.         editing  your source programs,  file management,  submitting 
  1476.         jobs  to  a batch stream,  or printing  Source  Instrumenter 
  1477.         listings for use during the debugging session. The format of 
  1478.         the SYSTEM command is:
  1479.  
  1480.                        SYSTEM_COMMAND(COMMAND);
  1481.  
  1482.         where  COMMAND  is any valid command that you may  enter  at 
  1483.         your system command level.
  1484.  
  1485.  
  1486.              --------------------------------------------------
  1487.              EXAMPLE: 
  1488.              --------------------------------------------------
  1489.  
  1490.              please enter desired option
  1491.              SYSTEM_COMMAND(DIR); <cr>
  1492.  
  1493.              Directory USER$DEVICE:[USER.NOSC.TEST]
  1494.  
  1495.              PGMLIB.DIR;1      PKG1.PKG;2        SP.ADA;4
  1496.              TEST.ADA;16       TEST.EXE;2        TEST.EXE;1
  1497.              WP1.ADA;3         WP1.ADA;2         WP1.ADA;1
  1498.  
  1499.              Total of 9 files.
  1500.              --------------------------------------------------
  1501.  
  1502.  
  1503.              However,  you should be aware that it may have  certain 
  1504.         limitations  depending  on the system you  are  using.   For 
  1505.         example, under VAX VMS a new process is "spawned" to execute 
  1506.         the  command.  When  the spawned process is  completed,  any 
  1507.         changes  that  have  been made to the  environment  will  be 
  1508.         restored  to  their state prior to execution of  the  SYSTEM 
  1509.         command.
  1510.  
  1511.  
  1512.  
  1513.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.         Ada Symbolic Debugger User's Guide               Page: 4 - 11
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.              --------------------------------------------------
  1526.              EXAMPLE: 
  1527.              --------------------------------------------------
  1528.  
  1529.              please enter desired option
  1530.              SY(SET DEFAULT ^ <cr> 
  1531.  
  1532.              please enter desired option
  1533.  
  1534.              --------------------------------------------------
  1535.  
  1536.  
  1537.              In  the previous VAX VMS example,  the default  working 
  1538.         directory  is changed to the parent of the  current  default 
  1539.         working directory.  But, when the process that is spawned to 
  1540.         execute  the  SET DEFAULT command has  been  completed,  the 
  1541.         default  working directory is restored to its state prior to 
  1542.         execution  of the SYSTEM  command.  Therefore,  the  command 
  1543.         SY(SET_DEFAULT ^  has no effect.
  1544.  
  1545.  
  1546.         
  1547.         4.9  THE HELP COMMAND
  1548.         
  1549.              The  WIS_DEBUG Shell contains an extensive on-line help 
  1550.         facility to assist you with each of the many Shell  commands 
  1551.         and  special features.  The format of the HELP command is as 
  1552.         follows:
  1553.  
  1554.                             HELP;
  1555.                             HELP(topic); 
  1556.  
  1557.  
  1558.              The  HELP  command may be used to obtain assistance  at 
  1559.         any  time  WIS_DEBUG is at the  command  level.  Information 
  1560.         about Shell commands and features is extracted from the file 
  1561.         WISDEBUG.HLP  that  must  be located  in  the  Base  Program 
  1562.         Library.   Refer  to Chapter 3 for information about setting 
  1563.         up a program library.
  1564.  
  1565.  
  1566.              If  no topic or an invalid topic is specified a menu of 
  1567.         all available HELP topics will be displayed.
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.         Ada Symbolic Debugger User's Guide               Page: 4 - 12
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.              --------------------------------------------------
  1592.              EXAMPLE: 
  1593.              --------------------------------------------------
  1594.  
  1595.              please enter desired option
  1596.              HELP; <cr>
  1597.  
  1598.              Topics available are:
  1599.  
  1600.                COMPILE            DELETE       EXIT
  1601.                HELP               LINK         OPTIONS
  1602.                PROGRAM_LIBRARY    QUIT         RUN
  1603.                SOURCE_INSTRUMENT  SET_LIBRARY  SYSTEM_COMMANDS
  1604.  
  1605.              Enter "HELP(topic);" for more information
  1606.  
  1607.              please enter desired option
  1608.              --------------------------------------------------
  1609.  
  1610.  
  1611.              If  an  ambiguous  topic is  specified  then  an  error 
  1612.         message  will  be issued and a list of possible  topics  and 
  1613.         their minimum acceptable abbreviations will be displayed.
  1614.  
  1615.  
  1616.              --------------------------------------------------
  1617.              EXAMPLE: 
  1618.              --------------------------------------------------
  1619.  
  1620.              please enter desired option
  1621.              HELP(S <cr>
  1622.  
  1623.              The topic S is ambiguous. Possiblities are:
  1624.                Topic: SET_LIBRARY        Abbreviation: SE
  1625.                Topic: SOURCE_INSTRUMENT  Abbreviation: SO
  1626.                Topic: SYSTEM             Abbreviation: SY
  1627.              Enter "HELP(topic);" for more information
  1628.  
  1629.              please enter desired option
  1630.              --------------------------------------------------
  1631.  
  1632.  
  1633.              If  a valid topic is specified then  information  about 
  1634.         that topic will be displayed.   Information about each topic 
  1635.         is  displayed in segments.   At the end of each segment  the 
  1636.         user  is given the opportunity to terminate HELP and  return 
  1637.         to  the  debugger  command  level by  entering  "Q",  or  to 
  1638.         continue  displaying  more information about  the  topic  by 
  1639.         entering  a  carriage return until all information has  been 
  1640.         displayed.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.         Ada Symbolic Debugger User's Guide               Page: 4 - 13
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.              --------------------------------------------------
  1658.              EXAMPLE: 
  1659.              --------------------------------------------------
  1660.  
  1661.              please enter desired option
  1662.              HELP(COMPILE); <cr>
  1663.  
  1664.              Command: COMPILE - Compile an instrumented Ada
  1665.                                 compilation unit
  1666.              Abbreviation:   C
  1667.  
  1668.              Format:         COMPILE(SOURCE_FILE)
  1669.                              where SOURCE_FILE is the  name  of
  1670.                              of the source file to be  compiled
  1671.  
  1672.              Enter RETURN for more information or "Q" to quit: >> <cr>
  1673.  
  1674.              Invokes   the   Ada  compiler  from   within   the 
  1675.              WIS_DEBUG Shell.   The COMPILE command may be used 
  1676.              to compile an instrumented Ada source file without 
  1677.              exiting the shell.
  1678.  
  1679.              Enter RETURN for examples or "Q" to quit: >> <cr>
  1680.  
  1681.              EXAMPLES:
  1682.                1) COMPILE(MY_SOURCE.INS);
  1683.                2) COMPILE(MY_SOURCE.INS
  1684.                3) C(MY_SOURCE.INS
  1685.  
  1686.              please enter desired option
  1687.              --------------------------------------------------
  1688.  
  1689.         
  1690.         4.10  THE QUIT AND EXIT COMMANDS
  1691.         
  1692.              The QUIT and EXIT commands have the same meaning.  When 
  1693.         either command is entered,  execution of the WIS_DEBUG shell 
  1694.         is terminated and control is returned to the system  command 
  1695.         level.    A  minimum  abbreviation  of  two  characters  are 
  1696.         required   to   reduce   the   possibility   of   accidental 
  1697.         termination.
  1698.  
  1699.              --------------------------------------------------
  1700.              EXAMPLES: 
  1701.              --------------------------------------------------
  1702.  
  1703.              1)  QUIT; <cr>
  1704.              2)  EXIT; <cr>
  1705.              3)  QU <cr>
  1706.              4)  EX <cr>
  1707.              --------------------------------------------------
  1708.  
  1709.  
  1710.  
  1711.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.         Ada Symbolic Debugger User's Guide               Page: 4 - 14
  1718.  
  1719.  
  1720.  
  1721.  
  1722.         
  1723.         4.11  SAMPLE SESSION WITH WIS_DEBUG
  1724.         
  1725.              Following is a sample session with the WIS_DEBUG shell. 
  1726.          
  1727.  
  1728.  
  1729.  
  1730.         $ SET DEFAULT [USER.NOSC.TEST] <cr>
  1731.         $ RUN WIS_DEBUG <cr>
  1732.  
  1733.         SYMBOLIC DEBUGGER - VERSION 1.0
  1734.         SOURCE INSTRUMENTER AND PROGRAM LIBRARY MANAGEMENT
  1735.         please enter desired option
  1736.         enter ? for a list of options available
  1737.         ? <cr>
  1738.  
  1739.         WIS_DEBUG Options are:  
  1740.  
  1741.           Library Management
  1742.             SEt_library(PROGRAM_LIBRARY); --> Set program library
  1743.             Delete(UNIT_NAME);            --> Delete unit from pgm lib
  1744.  
  1745.           Execution Control
  1746.             SOurce_instrument;       --> Instrument Ada source file
  1747.             Compile(SOURCE_FILE);    --> Compile instrumented unit
  1748.             LINk(COMPILATION_UNIT);  --> Link instrumented program
  1749.             Run(COMPILATION_UNIT);   --> Run Debugger with instr pgm
  1750.             QUit;  --> or EXit;      --> Quit WIS_DBUG and Exit
  1751.  
  1752.           SYstem_command(COMMAND);   --> Execute a system command
  1753.  
  1754.           Help                       --> Help for commands & features
  1755.  
  1756.         please enter desired option
  1757.         SET_LIBRARY( [.PGMLIB] ); <cr>
  1758.         lib = [.PGMLIB]
  1759.  
  1760.         please enter desired option
  1761.         DELETE(OLD_PROGRAM); <cr>
  1762.  
  1763.         please enter desired option
  1764.         SYSTEM_COMMAND(DIR); <cr>
  1765.  
  1766.         Directory USER$DEVICE:[USER.NOSC.TEST]
  1767.  
  1768.         PGMLIB.DIR;1      PKG1.PKG;2        SP.ADA;4
  1769.         TEST.ADA;16       TEST.EXE;2        TEST.EXE;1
  1770.         WP1.ADA;3         WP1.ADA;2         WP1.ADA;1
  1771.  
  1772.         Total of 9 files.
  1773.  
  1774.  
  1775.  
  1776.  
  1777.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.         Ada Symbolic Debugger User's Guide               Page: 4 - 15
  1784.  
  1785.  
  1786.  
  1787.         
  1788.         SAMPLE WIS_DEBUG SESSION (Continued)
  1789.         
  1790.  
  1791.  
  1792.         please enter desired option
  1793.         source_instrument(test.ada, test.lis, test.si); <cr>
  1794.  
  1795.         source_file = TEST.ADA
  1796.         source_listing = TEST.LIS
  1797.         instrumented_source = TEST.SI
  1798.  
  1799.         Do you wish to compile the instrumented source (Y/N)? Y <cr>  
  1800.  
  1801.         please enter desired option
  1802.         LINK(TEST); <cr>
  1803.  
  1804.         %ACS-I-CL_LINKING, Invoking the VAX/VMS Linker
  1805.  
  1806.         please enter desired option
  1807.         SYSTEM_COMMAND(PRINT TEST.LIS); <cr>
  1808.  
  1809.         please enter desired option
  1810.         RUN(TEST); <cr>
  1811.  
  1812.             ------------------------------------------------
  1813.             |     The instrumented program is executed     |
  1814.             |     with the Symbolic Debugger here.         |
  1815.             ------------------------------------------------
  1816.  
  1817.         Please enter desired option:
  1818.         QUIT; <cr>
  1819.         $
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.         Ada Symbolic Debugger User's Guide               Page: 5 - 1
  1850.  
  1851.  
  1852.  
  1853.  
  1854.         
  1855.                                  CHAPTER 5
  1856.  
  1857.             EXECUTING THE DEBUGGER WITH AN INSTRUMENTED PROGRAM
  1858.         
  1859.  
  1860.             The   compilation  and  linking  process  combines   the 
  1861.         Symbolic  Debugger  with  the  instrumented  program.   When 
  1862.         linking is completed,  the target Ada program is ready to be 
  1863.         executed  and  debugged.  The user interface and  method  of 
  1864.         executing   the  target  program  is  not  altered  by   the 
  1865.         instrumentation  process.  Therefore,  you may either follow 
  1866.         the  normal procedures for executing the target  program  on 
  1867.         the  host computer system being used for program development 
  1868.         or  you may execute it directly from the WIS_DEBUG shell  as 
  1869.         discussed in chapter 4.
  1870.  
  1871.  
  1872.              --------------------------------------------------
  1873.              EXAMPLE: 
  1874.              --------------------------------------------------
  1875.              please enter desired option
  1876.              run(test); <cr>
  1877.  
  1878.              SYMBOLIC DEBUGGER VERSION 1.0
  1879.  
  1880.              --------------------------------------------------
  1881.  
  1882.  
  1883.              When  the first program unit is entered,  the  Symbolic 
  1884.         Debugger will  suspend execution of the target  program  and 
  1885.         prompt  you  for the certain information about options  that 
  1886.         will be used during the debugging session.
  1887.  
  1888.         
  1889.         5.1  CREATING A LOG FILE
  1890.         
  1891.              If you desire,  the Symbolic Debugger will create a log 
  1892.         file  and record certain information about the execution  of 
  1893.         the  target Ada program.   After the debugging  session  has 
  1894.         ended  the  log  file  may be processed with  the  Ada  Path 
  1895.         Analyzer  to generate a statement by statement trace of  the 
  1896.         target program's execution or to obtain a summary report  of 
  1897.         all paths within the target program that were executed.
  1898.  
  1899.              When the target program begins execution,  you will  be 
  1900.         prompted  as to whether or not you want to create a log file 
  1901.         of the debugging session.  The default is no log file. If no 
  1902.         log  file is desired then  you may respond with  a  carriage 
  1903.         return  to  accept the default or with an "N" followed by  a 
  1904.         carriage return.
  1905.  
  1906.  
  1907.  
  1908.  
  1909.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.         Ada Symbolic Debugger User's Guide               Page: 5 - 2
  1916.  
  1917.  
  1918.  
  1919.  
  1920.              Note  that  in  the  following  examples  the  Symbolic 
  1921.         Debugger  always  precedes the prompt ">>" with the  default 
  1922.         response  shown  in  brackets "[ ]".   The  default  may  be 
  1923.         accepted by entering a carriage return.
  1924.  
  1925.              --------------------------------------------------
  1926.              EXAMPLE: 
  1927.              --------------------------------------------------
  1928.  
  1929.              SYMBOLIC DEBUGGER VERSION 1.0
  1930.  
  1931.              Create a log file (Y or N)?
  1932.              [N] >> <cr>
  1933.  
  1934.              --------------------------------------------------
  1935.  
  1936.  
  1937.              If  a log file is desired then you should respond  with 
  1938.         "Y". If "Y" is entered the Symbolic debugger will prompt you 
  1939.         for  a log file name and a unique test id to be recorded  in 
  1940.         the log file. The default log file name is SYMDEBUG.LOG. The 
  1941.         default  Test ID is "SYMBOLIC DEBUGGER  ANALYSIS".   If  you 
  1942.         wish  to  use another log file name then you should  respond 
  1943.         with  a legal file name for the computer you are using.  The 
  1944.         log  file will be created in the current working  directory. 
  1945.         If you want the log file to be created in another  directory 
  1946.         then  you must enter the full pathname of the file.   If you 
  1947.         wish to specify a Test ID that is different from the default 
  1948.         Test  ID  then  you should respond with a new test  ID  when 
  1949.         prompted.
  1950.  
  1951.              --------------------------------------------------
  1952.              EXAMPLE: 
  1953.              --------------------------------------------------
  1954.  
  1955.              SYMBOLIC DEBUGGER VERSION 1.0
  1956.  
  1957.              Create a log file (Y or N)?
  1958.              [N] >> y <cr>
  1959.  
  1960.              Enter log file name or RETURN for default
  1961.              [SYMDEBUG.LOG] >> test.log <cr>
  1962.  
  1963.              Enter a Test ID or RETURN for default
  1964.              [SYMBOLIC DEBUGGER ANALYSIS] >> Test 1234 <cr>
  1965.  
  1966.              --------------------------------------------------
  1967.  
  1968.               
  1969.              If the file already exists,  then you will be asked  if 
  1970.         you  want to enter a new filename or overwrite the  existing 
  1971.         file.
  1972.  
  1973.  
  1974.  
  1975.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.         Ada Symbolic Debugger User's Guide               Page: 5 - 3
  1982.  
  1983.  
  1984.         
  1985.         5.2  SETTING THE PROGRAM LIBRARY
  1986.         
  1987.              During  execution it will be necessary for the symbolic 
  1988.         debugger to locate certain files files created by the Source 
  1989.         Instrumenter.  These  files are maintained in  the  Symbolic 
  1990.         Debugger  Current  Program  Library.
  1991.  
  1992.              If  the  instrumented  program  is  executed  from  the 
  1993.         WIS_DEBUG Shell then the name of the Current Program Library 
  1994.         will   be  passed  to  the  debugger.    However,   if   the 
  1995.         instrumented  program  is  not executed from  the  WIS_DEBUG 
  1996.         Shell or if the debugger cannot find the files it will  need 
  1997.         during  execution,  a warning message will be issued and you 
  1998.         will  be  prompted to enter a new  Current  Program  Library 
  1999.         Name.   You  should  respond with a complete directory  name 
  2000.         that is valid for the computer and operating system you  are 
  2001.         using  for program development.   The Symbolic Debugger will 
  2002.         continue  prompting until a valid Program Library  name  has 
  2003.         been  entered.  When  a valid Program Library name has  been 
  2004.         entered,  the  Symbolic Debugger will respond by  displaying 
  2005.         the  breakpoint  at  which  execution  has  been   suspended 
  2006.         followed by the debugger command prompt ">>".
  2007.  
  2008.  
  2009.              --------------------------------------------------
  2010.              EXAMPLE: 
  2011.              --------------------------------------------------
  2012.  
  2013.              Program library catalog not found!
  2014.  
  2015.              Enter a new program library name or RETURN to continue
  2016.              [Current Directory] >> [user.nosc.pgmlib] <cr>
  2017.  
  2018.              Program library catalog not found!
  2019.  
  2020.              Enter a new program library name or RETURN to continue
  2021.              [USER.NOSC.PGMLIB] >> [user.nosc.test.pgmlib] <cr>
  2022.  
  2023.              Begin execution at procedure TEST << 23 >>
  2024.  
  2025.              >>
  2026.              --------------------------------------------------
  2027.  
  2028.              You  may  continue execution of the  debugging  session 
  2029.         without specifying a valid program library.  However, if you 
  2030.         do  so  the Symbolic Debugger will be unable to  locate  and 
  2031.         display  program  listings  in the  LISTING  region  of  the 
  2032.         terminal if you use the SCREEN mode capability.
  2033.  
  2034.              You  are now ready to begin debugging your Ada program.  
  2035.         Chapter  6 contains a detailed discussion of using  each  of 
  2036.         the  Symbolic Debugger's commands and features you will need 
  2037.         during the debugging session.
  2038.  
  2039.  
  2040.  
  2041.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.         Ada Symbolic Debugger User's Guide               Page: 6 - 1
  2048.  
  2049.  
  2050.  
  2051.  
  2052.         
  2053.                                  CHAPTER 6
  2054.  
  2055.                           DEBUGGING AN ADA PROGRAM
  2056.         
  2057.  
  2058.              The  User  Interface Command Language is  comprised  of 
  2059.         five categories of commands:
  2060.  
  2061.              1. Special debugger commands
  2062.              2. Terminal control commands
  2063.              3. Program status commands
  2064.              4. Execution control commands
  2065.              5. Program variable commands
  2066.  
  2067.              This  chapter describes the use of each of the Symbolic 
  2068.         Debugger features and commands.
  2069.  
  2070.  
  2071.         
  2072.         6.1  UNDERSTANDING BREAKPOINTS
  2073.         
  2074.              Before  discussing the many Symbolic Debugger  commands 
  2075.         and  features,   it  is  important  that  you  have  a  good 
  2076.         understanding  of  the term "breakpoint" as used within  the 
  2077.         context of this user's guide.
  2078.  
  2079.              When the Source_Instrumenter processes your Ada  source 
  2080.         program,  it inserts "hooks" at various points that transfer 
  2081.         control  at runtime to the Symbolic Debugger.  These "hooks" 
  2082.         are called "breakpoints".  When a breakpoint is  encountered 
  2083.         it  is  executed  whether  it is  "on"  or  "off".   If  the 
  2084.         breakpoint   is  "off"  then  control  is  returned  to  the 
  2085.         instrumented program to execute the statement with which the 
  2086.         breakpoint  is associated.   If the breakpoint is "on"  then 
  2087.         execution  of  the  program  is  temporarily  suspended  and 
  2088.         control  is passed to a user interface module where you will 
  2089.         be able to enter any of the many commands described in  this 
  2090.         chapter.   When you are ready to resume  execution,  control 
  2091.         will  be  returned  to your program and the  statement  with 
  2092.         which  the breakpoint is associated will  be  executed.   In 
  2093.         general, a breakpoint is inserted:
  2094.  
  2095.              1) after entry to each program unit
  2096.  
  2097.              2) before each executeable statement
  2098.  
  2099.              3) before each exit from a program unit
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.         Ada Symbolic Debugger User's Guide               Page: 6 - 2
  2114.  
  2115.  
  2116.  
  2117.  
  2118.              There  are  a few exceptions to this where  it  is  not 
  2119.         allowed by the syntax of the Ada language.  For example, the 
  2120.         DELAY statement in a delay alternative of a SELECT statement 
  2121.         may  not  be  preceded by any  other  statements.   In  this 
  2122.         situation,  the  breakpoint is inserted immediately  "after" 
  2123.         the delay statement.
  2124.  
  2125.              Breakpoint   numbers   are  assigned  by   the   Source 
  2126.         Instrumenter  in  ascending order beginning with 1 for  each 
  2127.         compilation unit.   One of the outputs created by the Source 
  2128.         Instrumenter is a "pretty printed" version of your  original 
  2129.         source program with all breakpoint numbers listed.
  2130.  
  2131.              Numerous   Symbolic   Debugger   commands   deal   with 
  2132.         breakpoints.   During execution of your instrumented program 
  2133.         with  the Symbolic Debugger it will be necessary for you  to 
  2134.         know  the breakpoint numbers assigned to statements at which 
  2135.         you  wish to suspend the program's execution.   If  you  are 
  2136.         debugging  in SCREEN mode using a screen type terminal  that 
  2137.         is supported by the Symbolic Debugger then the listing files 
  2138.         for   the  currently  executing  compilation  unit  will  be 
  2139.         displayed for you at your terminal.    However,  if you  are 
  2140.         using a tty type terminal or will need to set breakpoints in 
  2141.         instrumented  compilation  units other than the one that  is 
  2142.         currently executing then you may find it necessary to obtain 
  2143.         a printed listing of the SOURCE_LISTING_FILE produced by the 
  2144.         Source  Instrumenter prior to beginning a session  with  the 
  2145.         debugger.
  2146.  
  2147.         
  2148.         6.2  SPECIAL DEBUGGER FEATURES AND COMMANDS
  2149.         
  2150.              The  Ada  Symbolic Debugger contains  numerous  special 
  2151.         features  and  commands that are designed to make  the  tool 
  2152.         simple  and easy to use.  This section presents  information 
  2153.         about  each  of these special features  and  commands.   The 
  2154.         topics that are discussed in this section are:
  2155.         
  2156.                  Command Conventions
  2157.  
  2158.                  Keyboard Definitions
  2159.  
  2160.                  The Terminal Capabilities File
  2161.  
  2162.                  The HELP Command
  2163.  
  2164.                  The CANFILE Command 
  2165.  
  2166.                  The DEFINE Command
  2167.  
  2168.                  The SHOW_DEFINE Command
  2169.  
  2170.                  The SET_LIBRARY Command
  2171.  
  2172.  
  2173.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.         Ada Symbolic Debugger User's Guide               Page: 6 - 3
  2180.  
  2181.  
  2182.  
  2183.  
  2184.         
  2185.         6.2.1  Command Conventions
  2186.         
  2187.              The User Interface Command Language supports both  full 
  2188.         Ada  syntax  and  an abbreviated form of  each  command.  In 
  2189.         general, each command has one of the following formats:
  2190.  
  2191.                        COMMAND;
  2192.                        COMMAND(ARGUMENT);
  2193.                        COMMAND(ARGUMENT, ARGUMENT);
  2194.  
  2195.  
  2196.              An exception to this format is the SET_VARIABLE command 
  2197.         discussed in section 6.6.2.
  2198.  
  2199.  
  2200.  
  2201.         Syntax Rules
  2202.  
  2203.           1. Commands  may  be entered using full Ada syntax  rules. 
  2204.              Named parameter association is allowed but,  once used, 
  2205.              must be used for all subsequent parameters in the  same 
  2206.              command.  If  you use named parameter association  then 
  2207.              you  must use the parameter names given in the "pseudo" 
  2208.              package  specification for debugger commands  presented 
  2209.              in Appendix A.
  2210.  
  2211.           2. Case is not significant.
  2212.  
  2213.           3. Blanks  at  the  beginning  and  end  of  commands  and 
  2214.              arguments  and  at  the end of  the  command  line  are 
  2215.              ignored.  Blanks embedded within commands and arguments 
  2216.              are not allowed.
  2217.  
  2218.           4. Only one command per command line is allowed.
  2219.  
  2220.           5. Semicolons and trailing parentheses are optional.
  2221.  
  2222.           6. Commands  may  be abbreviated to the fewest  number  of 
  2223.              characters that uniquely identify them. 
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.         Ada Symbolic Debugger User's Guide               Page: 6 - 4
  2246.  
  2247.  
  2248.  
  2249.  
  2250.         
  2251.         6.2.2  Keyboard Definitions
  2252.         
  2253.              The  Symbolic Debugger has predefined  keyboard  macros 
  2254.         to  simplify  the use of some frequently used  commands  and 
  2255.         features. Predefined keyboard macros are only available when 
  2256.         the debugger is in SCREEN mode. These macros are:
  2257.  
  2258.         
  2259.                KEY                      DEFINITION
  2260.              -------      ------------------------------------------
  2261.              <PF1>        Toggles INSERT mode ON/OFF
  2262.  
  2263.              <PF2>        SCROLL_UP; <cr>
  2264.  
  2265.              <PF3>        SCROLL_DOWN; <cr>
  2266.  
  2267.              <PF4>        Erase end of line
  2268.  
  2269.              <ENTER>      STEP; <cr>
  2270.  
  2271.              <UP ARROW>   Recalls  previous  commands.  The last  10 
  2272.              <DN ARROW>   commands are saved and may be edited prior 
  2273.                           to being executed. 
  2274.  
  2275.  
  2276.         
  2277.         6.2.3  The Terminal Capabilities File 
  2278.         
  2279.              The Symbolic Debugger supports both TTY and full screen 
  2280.         type  terminals.   If  you  are  using a  full  screen  type 
  2281.         terminal  and  the  attributes of  the  terminal  have  been 
  2282.         defined  in the Terminal Capabilities File  (TCF.DAT),  then 
  2283.         you  may  use  the  SCREEN mode  debugging  feature  of  the 
  2284.         Symbolic Debugger.   If you are using a screen type terminal 
  2285.         but it is not currently defined in the Terminal Capabilities 
  2286.         File  then  you must add the attributes of the  terminal  to 
  2287.         TCF.DAT  if  you desire to use the terminal  in  the  screen 
  2288.         mode.
  2289.  
  2290.              The Terminal Capabilities File must be located in  your 
  2291.         Base  Program Library in order for the Symbolic Debugger  to 
  2292.         be  able to locate and use it.   Refer to Chapter 3 of  this 
  2293.         user's  guide  for  information  on  setting  up  a  program 
  2294.         library.
  2295.  
  2296.              The  format  of  the  Terminal  Capabilities  File  and 
  2297.         information  about  adding support for additional  terminals 
  2298.         can be found in Appendix E.
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.         Ada Symbolic Debugger User's Guide               Page: 6 - 5
  2312.  
  2313.  
  2314.  
  2315.  
  2316.         
  2317.         6.2.4  The HELP Command
  2318.         
  2319.              The  Symbolic  Debugger contains an  extensive  on-line 
  2320.         help  facility  to assist the user with  the  many  debugger 
  2321.         commands  and  special  features.  It is  identical  to  the 
  2322.         WIS_DEBUG  Shell  HELP  command with the exception  that  it 
  2323.         provides help for debugger commands and features rather than 
  2324.         Shell commands and features.  The format of the HELP command 
  2325.         is as follows:
  2326.  
  2327.                             HELP;
  2328.                             HELP(topic); 
  2329.  
  2330.  
  2331.              The  HELP  command  can  be entered  at  any  time  the 
  2332.         debugger  is  at  the command level  to  obtain  assistance. 
  2333.         Information   about   debugger  commands  and  features   is 
  2334.         extracted from the file SYMDEBUG.HLP that must be located in 
  2335.         the Base Program Library. Refer to Chapter 3 for information 
  2336.         about setting up a program library.
  2337.  
  2338.              If no topic or an invalid topic is specified, a menu of 
  2339.         all available HELP topics will be displayed.
  2340.  
  2341.  
  2342.              --------------------------------------------------
  2343.              EXAMPLE: 
  2344.              --------------------------------------------------
  2345.  
  2346.              >> HELP; <cr>
  2347.              Topics available are:
  2348.                ANNOUNCE        CANFILE           CLEAR_BREAKPOINT
  2349.                DEFINE          DISPLAY_UNITS     GO
  2350.                HELP            KEYPAD            PUT_VARIABLE
  2351.                QUIT            RECREATE          RESHOW
  2352.                SCREEN          SCROLL_DOWN       SCROLL_UP
  2353.                SET_BREAKPOINT  SET_OUTPUT        SET_SOURCE
  2354.                SET_VARIABLE    SHOW_BREAKPOINTS  SHOW_HISTORY
  2355.                SILENT          STEP              TERMINALS
  2356.              Enter "HELP(topic);" for more information
  2357.  
  2358.              >>
  2359.  
  2360.              --------------------------------------------------
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.         Ada Symbolic Debugger User's Guide               Page: 6 - 6
  2378.  
  2379.  
  2380.  
  2381.  
  2382.              If  an ambiguous topic is specified,  an error  message 
  2383.         will  be  issued  and a list of possible  topics  and  their 
  2384.         minimum acceptable abbreviations will be displayed.
  2385.  
  2386.              --------------------------------------------------
  2387.              EXAMPLE: 
  2388.              --------------------------------------------------
  2389.  
  2390.              >> HELP(SCR); <cr>
  2391.              The topic SCR is ambiguous. Possiblities are:
  2392.                Topic: SCREEN             Abbreviation: SCRE
  2393.                Topic: SCROLL_DOWN        Abbreviation: SCROLL_D
  2394.                Topic: SCROLL_UP          Abbreviation: SCROLL_U
  2395.              Enter "HELP(topic);" for more information
  2396.              >>
  2397.              --------------------------------------------------
  2398.  
  2399.              If  a valid topic is specified then  information  about 
  2400.         that  topic will be displayed.  Information about each topic 
  2401.         is  displayed in segments.  At the end of each  segment  you 
  2402.         will  be given the opportunity to terminate HELP and  return 
  2403.         to  the  debugger  command  level by  entering  "Q",  or  to 
  2404.         continue  displaying  more information about  the  topic  by 
  2405.         entering  a  carriage return until all information has  been 
  2406.         displayed.  
  2407.  
  2408.              If  the  topic  is a User  Interface  Command  Language 
  2409.         command  then  the information displayed  will  include  the 
  2410.         minimum  acceptable  abbreviation  for the command  and  the 
  2411.         applicable keyboard macro, if any.
  2412.  
  2413.              --------------------------------------------------
  2414.              EXAMPLE: 
  2415.              --------------------------------------------------
  2416.  
  2417.              >> HELP(A); <cr>
  2418.              Command: ANNOUNCE - Announce messages at breakpoints
  2419.                                  and step points
  2420.              Abbreviation:   A
  2421.              Keyboard Macro: None
  2422.  
  2423.              Enter RETURN for more information or "Q" to quit: >> <cr>
  2424.              Syntax:  ANNOUNCE;          --> or A
  2425.                       ANNOUNCE(BREAK);   --> or A(BREAK
  2426.                       ANNOUNCE(STEP);    --> or A(STEP
  2427.  
  2428.              Enter RETURN for examples or "Q" to quit: >> <cr>
  2429.              EXAMPLES:
  2430.              1) >> ANNOUNCE(STEP);  --> Turns on STEP messages
  2431.              2) >> A(BREAK          --> Turns on BREAKPOINT messages
  2432.              3) >> A;   --> Turns on both STEP & BREAKPOINT messages
  2433.              >>
  2434.              --------------------------------------------------
  2435.  
  2436.  
  2437.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.         Ada Symbolic Debugger User's Guide               Page: 6 - 7
  2444.  
  2445.  
  2446.  
  2447.  
  2448.  
  2449.              Information about special debugger features is displayed 
  2450.         in  a  similar  manner except that  there  is  no  applicable 
  2451.         command abbreviation or keyboard macro.
  2452.  
  2453.  
  2454.              --------------------------------------------------
  2455.              EXAMPLE: 
  2456.              --------------------------------------------------
  2457.  
  2458.              >> HELP(TERMINALS); <cr>
  2459.              The following display terminals are supported in
  2460.              SCREEN mode:
  2461.                   TV970   VI50   VT52   VT100
  2462.              Refer to the Symbolic Debugger  User's  Guide  for
  2463.              information about adding support for new terminals.
  2464.              >>
  2465.              --------------------------------------------------
  2466.  
  2467.  
  2468.         
  2469.         6.2.5  The CANFILE Command
  2470.         
  2471.              A  useful  feature  of the  Symbolic  Debugger  is  its 
  2472.         ability  to  accept  input commands from a  "Canned  Command 
  2473.         File"  (CANFILE).  A  CANFILE is a text file  that  contains 
  2474.         Symbolic  Debugger  commands in exactly the same  format  as 
  2475.         they  would be entered through the keyboard at  the  command 
  2476.         prompt.    When  all  commands  in  the  CANFILE  have  been 
  2477.         executed,  control  will be returned to the user's  console.  
  2478.         The  following  example shows a typical CANFILE that may  be 
  2479.         used to perform an initial setup sequence.
  2480.  
  2481.  
  2482.              --------------------------------------------------
  2483.              EXAMPLE:  Sample CANFILE  
  2484.              --------------------------------------------------
  2485.  
  2486.              DEFINE( &1, SET_BREAKPOINT(  );
  2487.              DEFINE( &2, SHOW_HISTORY;    );
  2488.              DEFINE( &3, SHOW_BREAKPOINTS );
  2489.              DEFINE( &9, DEFINE(          );
  2490.              SILENT(STEP);
  2491.              SCREEN(VT100);
  2492.              DISPLAY_UNITS;
  2493.              --------------------------------------------------
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.         Ada Symbolic Debugger User's Guide               Page: 6 - 8
  2510.  
  2511.  
  2512.  
  2513.  
  2514.              There is no limit to the number of commands that can be 
  2515.         included in a CANFILE.  However,  CANFILES may not be nested 
  2516.         (i.e.,  one  CANFILE  may not invoke  another  CANFILE).   A 
  2517.         CANFILE  may  be invoked at any time the debugger is at  the 
  2518.         command prompt ">>" by entering CANFILE command and the name 
  2519.         of the command file. 
  2520.  
  2521.  
  2522.              --------------------------------------------------
  2523.              EXAMPLE: 
  2524.              --------------------------------------------------
  2525.  
  2526.              >> CANFILE(SETUP.CAN); <cr>
  2527.  
  2528.              --------------------------------------------------
  2529.  
  2530.  
  2531.         
  2532.         6.2.6  The DEFINE Command
  2533.         
  2534.              A  useful  feature  of the  Symbolic  Debugger  is  the 
  2535.         ability  to define and execute user defined command strings. 
  2536.         New  commands may be created in the form of keyboard  macros 
  2537.         to  simplify the use of frequently  used  commands,  lengthy 
  2538.         program unit names,  or tailor it to your own personal likes 
  2539.         and dislikes.
  2540.  
  2541.              The  DEFINE  command  is used to  define  new  keyboard 
  2542.         macros.  Up  to 9 new keyboard macros may  be  defined.  The 
  2543.         format of the DEFINE command is as follows:
  2544.  
  2545.                        DEFINE( &n, SOME_STRING );
  2546.  
  2547.              where:  n is an integer in the range 1 .. 9
  2548.  
  2549.                      SOME_STRING is a string of characters. Imbedded 
  2550.                      blanks are allowed. Leading and trailing blanks 
  2551.                      are ignored. Quote characters (") should not be 
  2552.                      used  to delimit the string.  They are  allowed 
  2553.                      but will be interpreted as part of the string. 
  2554.  
  2555.              The value of SOME_STRING is assigned to the macro "&n".
  2556.  
  2557.              --------------------------------------------------
  2558.              EXAMPLES: 
  2559.              --------------------------------------------------
  2560.  
  2561.              >> DEFINE( &1, SET_BREAKPOINT( ); <cr>
  2562.              >> DEFINE( &2, SHOW_HISTORY; ); <cr>
  2563.              >> DEFINE( &4, LONG_PACKAGE_NAME.LONG_PROC_NAME ); <cr>
  2564.              >> DEFINE( &5, LONG_FUNCTION_NAME ); <cr>
  2565.              --------------------------------------------------
  2566.  
  2567.  
  2568.  
  2569.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.         Ada Symbolic Debugger User's Guide               Page: 6 - 9
  2576.  
  2577.  
  2578.  
  2579.  
  2580.              Once  a keyboard macro has been defined it may be  used 
  2581.         anywhere  on  the command line when the debugger is  in  the 
  2582.         command  mode.  It may be used to execute an entire command, 
  2583.         or it may be embedded within a command. 
  2584.  
  2585.              --------------------------------------------------
  2586.              EXAMPLES: 
  2587.              --------------------------------------------------
  2588.  
  2589.              Using the DEFINEs given in the previous example:
  2590.  
  2591.              >> &2 <cr>
  2592.                 will execute the SHOW_HISTORY command
  2593.  
  2594.              >> &1&4.&5 <cr>
  2595.                 will set the first breakpoint in the program unit
  2596.                 LONG_PACKAGE_NAME.LONG_PROC_NAME.LONG_FUNCTION_NAME
  2597.  
  2598.              >> C(&4 <cr>
  2599.                 will clear all breakpoints in the procedure
  2600.                 LONG_PACKAGE_NAME.LONG_PROC_NAME
  2601.  
  2602.              --------------------------------------------------
  2603.  
  2604.  
  2605.              Keyboard  macros  defined by the DEFINE command may  be 
  2606.         redefined at any time. If you find that you are defining the 
  2607.         same  keyboard macros during each debugging session you  may 
  2608.         find it useful to store the definitions in a  CANFILE,  such 
  2609.         as  KEYDEFS.CAN,  that you execute upon start up.  Refer  to 
  2610.         section 6.2.3 for information about creating and executing a 
  2611.         CANFILE.
  2612.  
  2613.  
  2614.         
  2615.         6.2.7  The SHOW_DEFINE Command
  2616.         
  2617.              If  you use the DEFINE command to define  new  keyboard 
  2618.         macros,  their  definitions may be displayed at any time  by 
  2619.         using  the  SHOW_DEFINE command.   Only keys that have  been 
  2620.         defined will be displayed.
  2621.  
  2622.              --------------------------------------------------
  2623.              EXAMPLE: 
  2624.              --------------------------------------------------
  2625.  
  2626.              >> SHOW_DEFINE; <cr>
  2627.                 &1 = SET_BREAKPOINT(
  2628.                 &2 = SHOW_HISTORY; 
  2629.                 &4 = LONG_PACKAGE_NAME.LONG_PROC_NAME 
  2630.                 &5 = LONG_FUNCTION_NAME 
  2631.              >>
  2632.              --------------------------------------------------
  2633.  
  2634.  
  2635.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.         Ada Symbolic Debugger User's Guide               Page: 6 - 10
  2642.  
  2643.  
  2644.  
  2645.  
  2646.         
  2647.         6.2.7  The SET_LIBRARY Command
  2648.         
  2649.              The SET_LIBRARY command is identical to the SET_LIBRARY 
  2650.         command in the WIS_DEBUG shell.  It is used to set or change 
  2651.         the Current Program Library being used by the debugger.   If 
  2652.         you  should  find that you incorrectly specified  the  wrong 
  2653.         Program  Library  name  to the  WIS_DEBUG  shell  or  during 
  2654.         debugger initialization,  then you may specify a new Program 
  2655.         Library  name  at  any time the debugger is at  the  command 
  2656.         prompt.
  2657.  
  2658.  
  2659.              --------------------------------------------------
  2660.              EXAMPLES: 
  2661.              --------------------------------------------------
  2662.  
  2663.              1) >> SET_LIBRARY( DRAO:[USER.NOSC.PGMLIB] ); <cr>
  2664.                    Logical device (DRA0:) is required if not
  2665.                    on default logical device
  2666.  
  2667.              2) >> SET_LIBRARY( [USER.NOSC.PGMLIB] ) <cr>
  2668.                    Full directory path name required if not in
  2669.                    current default working directory
  2670.  
  2671.              3) >> SET_L( [.PGMLIB] <cr>
  2672.                    Program Library is set to the PGMLIB subdirectory
  2673.                    of the current default working directory
  2674.  
  2675.              --------------------------------------------------
  2676.  
  2677.  
  2678.         
  2679.         6.3    CONTROLLING TERMINAL OUTPUT
  2680.         
  2681.              If  you  are  using  a screen  type  terminal  and  the 
  2682.         attributes of the terminal have been defined in the Terminal 
  2683.         Capabilities  File  (TCF.DAT),  then you may use the  SCREEN
  2684.         mode  debugging capabilities of the Symbolic  Debugger.   If 
  2685.         you  are using a screen type terminal that is not  supported 
  2686.         by  the Terminal Capabilities File refer to Appendix  E  for 
  2687.         information   about  how  to  add  support  for   additional 
  2688.         terminals.
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.         Ada Symbolic Debugger User's Guide               Page: 6 - 11
  2708.  
  2709.  
  2710.  
  2711.  
  2712.  
  2713.              Terminal  Control  Commands  are used  to  control  the 
  2714.         format  of  debugger  and program input and  output  to  the 
  2715.         user's  terminal while in the screen mode.  Commands in this 
  2716.         category are:
  2717.  
  2718.                            SCREEN
  2719.                            SET_SOURCE
  2720.                            SET_OUTPUT
  2721.                            SCROLL_UP
  2722.                            SCROLL_DOWN
  2723.                            RESHOW
  2724.                            RECREATE
  2725.  
  2726.  
  2727.              This section describes the use of each of the  symbolic 
  2728.         debugger's Terminal Control Commands.
  2729.  
  2730.  
  2731.              
  2732.         6.3.1  The SCREEN Command
  2733.         
  2734.              The SCREEN command changes the debugger from NON SCREEN 
  2735.         mode (tty) to SCREEN mode.  The terminal specified must be a 
  2736.         previously  defined  screen  mode terminal in  the  Terminal 
  2737.         Capabilities File (TCF.DAT).  The format of the command is:
  2738.  
  2739.                        SCREEN(term_type);
  2740.  
  2741.  
  2742.              --------------------------------------------------
  2743.              EXAMPLES: 
  2744.              --------------------------------------------------
  2745.  
  2746.              1)  >> SCREEN(VT100); <cr>
  2747.  
  2748.              2)  >> SCREEN(TV970) <cr>
  2749.  
  2750.              3)  >> SCREEN(VT52 <cr>
  2751.  
  2752.              4)  >> SCR(VI50 <cr>
  2753.  
  2754.              --------------------------------------------------
  2755.  
  2756.  
  2757.         IMPORTANT  NOTE: Once you have entered SCREEN mode,  you may 
  2758.         not  return  to  NON SCREEN mode or  redefine  the  terminal 
  2759.         attributes for a different terminal.  All attributes will be 
  2760.         reset to TTY mode upon normal termination of the debugger.
  2761.  
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2768.  
  2769.  
  2770.  
  2771.  
  2772.  
  2773.         Ada Symbolic Debugger User's Guide               Page: 6 - 12
  2774.  
  2775.  
  2776.  
  2777.  
  2778.         
  2779.         6.3.2  The SET_SOURCE Command
  2780.         
  2781.              When  the  Symbolic  Debugger  is in  SCREEN  mode  the 
  2782.         terminal  display  is divided into  three  regions:  SOURCE, 
  2783.         OUTPUT,  and USER. The SOURCE region of the terminal display 
  2784.         is  used to display the current location of the debugger  in 
  2785.         the  user's source listing when execution is suspended at  a 
  2786.         breakpoint.
  2787.  
  2788.              The default size of the SOURCE region is 8  lines.  The 
  2789.         SET_SOURCE  command  can be used to change the size  of  the 
  2790.         SOURCE region. The format of the SET_SOURCE command is:
  2791.  
  2792.                             SET_SOURCE(size);
  2793.  
  2794.         where "size" is some positive integer. When setting the size 
  2795.         of  the  SOURCE  region the user should take  the  following 
  2796.         into account:
  2797.  
  2798.         1) The  total number of lines that the terminal can  display 
  2799.            is defined in the Terminal Capabilities File.
  2800.  
  2801.         2) Both  the  SOURCE  and OUTPUT regions may be set  by  the 
  2802.            SET_SOURCE  and SET_OUTPUT  commands,  respectively.  The 
  2803.            USER region gets whatever is left over and cannot be less 
  2804.            than 1 line.
  2805.  
  2806.          
  2807.  
  2808.              --------------------------------------------------
  2809.              EXAMPLES: 
  2810.              --------------------------------------------------
  2811.  
  2812.              1)  >> SET_SOURCE(10); <cr>
  2813.  
  2814.                  Sets the SOURCE display region to 10 lines
  2815.  
  2816.  
  2817.              2)  >> SET_S(9 <cr>
  2818.  
  2819.                  Sets the SOURCE display region to 9 lines
  2820.  
  2821.              --------------------------------------------------
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.         Ada Symbolic Debugger User's Guide               Page: 6 - 13
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.         
  2846.         6.3.3  The SET_OUTPUT Command
  2847.         
  2848.              When  the  Symbolic  Debugger  is in  SCREEN  mode  the 
  2849.         terminal  display  is divided into  three  regions:  SOURCE, 
  2850.         OUTPUT,  and USER. The OUTPUT region of the terminal display 
  2851.         is  used  for  input  of debugger  commands  and  output  of 
  2852.         debugger messages and diagnostics.  
  2853.  
  2854.              The default size of the OUTPUT region is 6  lines.  The 
  2855.         SET_OUTPUT  command  can be used to change the size  of  the 
  2856.         OUTPUT region. The format of the SET_OUTPUT command is:
  2857.  
  2858.                             SET_OUTPUT(size);
  2859.  
  2860.         where "size" is some positive integer. When setting the size 
  2861.         of  the  OUTPUT  region the user should take  the  following 
  2862.         into account:
  2863.  
  2864.         1) The  total number of lines that the terminal can  display 
  2865.            is defined in the Terminal Capabilities File.
  2866.  
  2867.         2) Both  the  SOURCE and OUTPUT regions may be  set  by  the 
  2868.            SET_SOURCE  and SET_OUTPUT  commands,  respectively.  The 
  2869.            USER region gets whatever is left over and cannot be less 
  2870.            than 1 line.
  2871.  
  2872.  
  2873.  
  2874.              --------------------------------------------------
  2875.              EXAMPLES: 
  2876.              --------------------------------------------------
  2877.  
  2878.              1)  >> SET_OUTPUT(10); <cr>
  2879.  
  2880.                  Sets the OUTPUT display region to 10 lines
  2881.  
  2882.  
  2883.              2)  >> SET_O(5 <cr>
  2884.  
  2885.                  Sets the OUTPUT display region to 5 lines
  2886.  
  2887.              --------------------------------------------------
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.         Ada Symbolic Debugger User's Guide               Page: 6 - 14
  2906.  
  2907.  
  2908.  
  2909.  
  2910.         
  2911.         6.3.4  The SCROLL_UP Command
  2912.         
  2913.              When  the  Symbolic  debugger is in  SCREEN  mode,  the 
  2914.         SCROLL_UP command scrolls the SOURCE display region "window" 
  2915.         up one "page" in the current listing file. A "page" is equal 
  2916.         to  the  current  size of the  SOURCE  display  region.  The 
  2917.         default size of the SOURCE display region is 8 lines but may 
  2918.         be changed by the SET_SOURCE command.
  2919.  
  2920.              The  predefined keyboard macro PF2 (function key 2) may 
  2921.         be used to execute the SCROLL_UP command if it is  supported 
  2922.         by the terminal you are using.
  2923.  
  2924.  
  2925.              --------------------------------------------------
  2926.              EXAMPLES: 
  2927.              --------------------------------------------------
  2928.  
  2929.              1)  >> SCROLL_UP; <cr>       --> Scrolls up 1 page
  2930.              2)  >> SCROLL_UP <cr>        --> Scrolls up 1 page
  2931.              3)  >> SCROLL_U; <cr>        --> Scrolls up 1 page
  2932.              4)  >> SCROLL_U <cr>         --> Scrolls up 1 page
  2933.              5)  >> <PF2>                 --> Scrolls up 1 page
  2934.              --------------------------------------------------
  2935.  
  2936.  
  2937.         
  2938.         6.3.5  The SCROLL_DOWN Command
  2939.         
  2940.              When  the  Symbolic  debugger is in  SCREEN  mode,  the 
  2941.         SCROLL_DOWN  command  scrolls  the  SOURCE  display   region 
  2942.         "window"  down  one "page" in the current  listing  file.  A 
  2943.         "page"  is  equal to the current size of the SOURCE  display 
  2944.         region.  The default size of the SOURCE display region is  8 
  2945.         lines but may be changed by the SET_SOURCE command.
  2946.  
  2947.              The  predefined keyboard macro PF3 (function key 3) may 
  2948.         be  used  to  execute  the  SCROLL_DOWN  command  if  it  is 
  2949.         supported by the terminal being used.
  2950.  
  2951.  
  2952.              --------------------------------------------------
  2953.              EXAMPLES: 
  2954.              --------------------------------------------------
  2955.  
  2956.              1)  >> SCROLL_DOWN; <cr>   --> Scrolls down 1 page
  2957.              2)  >> SCROLL_DO <cr>      --> Scrolls down 1 page
  2958.              3)  >> SCROLL_D; <cr>      --> Scrolls down 1 page
  2959.              4)  >> SCROLL_D <cr>       --> Scrolls down 1 page
  2960.              5)  >> <PF3>               --> Scrolls down 1 page
  2961.              --------------------------------------------------
  2962.  
  2963.  
  2964.  
  2965.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  2966.  
  2967.  
  2968.  
  2969.  
  2970.  
  2971.         Ada Symbolic Debugger User's Guide               Page: 6 - 15
  2972.  
  2973.  
  2974.  
  2975.         
  2976.         6.3.6  The RESHOW Command
  2977.         
  2978.              The  RESHOW command rewrites the terminal display  when 
  2979.         the debugger is in screen mode.
  2980.  
  2981.              In a multi-user time sharing environment situations may 
  2982.         occur  that affect the display when in screen mode  such  as 
  2983.         messages  from  other users,  batch job completion  messages 
  2984.         from the system, etc. It is not within the capability of the 
  2985.         debugger  to inhibit such  situations.  However,  when  this 
  2986.         happens the screen display can normally be regenerated using 
  2987.         the  RESHOW  command  with no loss of  information.  If  the 
  2988.         situation  cannot be corrected by using the RESHOW  command, 
  2989.         then the RECREATE command may be used.
  2990.  
  2991.              --------------------------------------------------
  2992.              EXAMPLES: 
  2993.              --------------------------------------------------
  2994.  
  2995.              1)  >> RESHOW; <cr>
  2996.              2)  >> RESH; <cr>
  2997.              3)  >> RES <cr>
  2998.              --------------------------------------------------
  2999.  
  3000.         
  3001.         6.3.7  The RECREATE Command
  3002.         
  3003.              The  RECREATE  command recreates the  terminal  display 
  3004.         when  the  debugger is in screen mode.  Each display  region 
  3005.         (OUTPUT, SOURCE, USER) is recreated separately.
  3006.  
  3007.              The RECREATE command must be used when certain  extreme 
  3008.         situations occur that directly affect the screen mode of the 
  3009.         terminal,  such  as user output sending a control or  escape 
  3010.         sequence  to the terminal that takes it out of screen  mode. 
  3011.         Situations  such  as this may require that the  terminal  be 
  3012.         placed into a "local" mode, reset, and then placed back "on-
  3013.         line".   The screen display must then be recreated using the 
  3014.         RECREATE  command.  The OUTPUT region of the display will be 
  3015.         restored to the most recent command,  the SOURCE region will 
  3016.         be restored to the current listing file and breakpoint,  and 
  3017.         the USER region will be cleared to avoid duplication of  the 
  3018.         condition that caused the problem. 
  3019.  
  3020.              --------------------------------------------------
  3021.              EXAMPLES: 
  3022.              --------------------------------------------------
  3023.  
  3024.              1)  >> RECREATE; <cr>
  3025.              2)  >> RECRE; <cr>
  3026.              3)  >> REC <cr>
  3027.              --------------------------------------------------
  3028.  
  3029.  
  3030.  
  3031.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3032.  
  3033.  
  3034.  
  3035.  
  3036.  
  3037.         Ada Symbolic Debugger User's Guide               Page: 6 - 16
  3038.  
  3039.  
  3040.  
  3041.         
  3042.         6.4  DISPLAYING PROGRAM AND DEBUGGER STATUS
  3043.         
  3044.              Status  Commands display information about the state of 
  3045.         the  program under test and the debugger.   Commands in this 
  3046.         category are:
  3047.  
  3048.                            SILENT 
  3049.                            ANNOUNCE 
  3050.                            SHOW_BREAKPOINT 
  3051.                            SHOW_HISTORY 
  3052.                            DISPLAY_UNITS 
  3053.  
  3054.              This section describes the use of each of the  symbolic 
  3055.         debugger's Status Commands.
  3056.  
  3057.  
  3058.         
  3059.         6.4.1  The SILENT Command
  3060.         
  3061.              The  Symbolic Debugger displays messages at the  user's 
  3062.         console whenever program execution is suspended at a step or 
  3063.         breakpoint.  The  SILENT command turns off Symbolic Debugger 
  3064.         messages  at  breakpoints and  at  step  points.  Breakpoint 
  3065.         messages and step messages are of the following form:
  3066.  
  3067.              Break at:  PGM_UNIT_NAME  << BKPT_NUMBER >>
  3068.  
  3069.              Step to:   PGM_UNIT_NAME  << BKPT_NUMBER >>
  3070.  
  3071.  
  3072.              The  default  for BREAK messages and STEP  messages  is 
  3073.         "on".   If  messages are turned "off" by the SILENT command, 
  3074.         they may be turned back "on" by using the ANNOUNCE  command. 
  3075.         The format of the SILENT command is:
  3076.  
  3077.                            SILENT;
  3078.                            SILENT(BREAK);
  3079.                            SILENT(STEP);
  3080.  
  3081.  
  3082.              --------------------------------------------------
  3083.              EXAMPLES: 
  3084.              --------------------------------------------------
  3085.  
  3086.              1)  >> SILENT(STEP); <cr>
  3087.                  Silences STEP messages
  3088.  
  3089.              2)  >> SILENT(BREAK) <cr>
  3090.                  Silences BREAK messages
  3091.  
  3092.              3)  >> SI <cr>
  3093.                  Silences both STEP and BREAK messages
  3094.              --------------------------------------------------
  3095.  
  3096.  
  3097.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.         Ada Symbolic Debugger User's Guide               Page: 6 - 17
  3104.  
  3105.  
  3106.  
  3107.         
  3108.         6.4.2  The ANNOUNCE Command
  3109.         
  3110.              The  Symbolic Debugger displays messages at the  user's 
  3111.         console whenever program execution is suspended at a step or 
  3112.         breakpoint.  The ANNOUNCE command turns on Symbolic Debugger 
  3113.         messages  at  breakpoints  and at  step  points.  Breakpoint 
  3114.         messages and step messages are of the following form:
  3115.  
  3116.              Break at:  PGM_UNIT_NAME  << BKPT_NUMBER >>
  3117.  
  3118.              Step to:   PGM_UNIT_NAME  << BKPT_NUMBER >>
  3119.  
  3120.  
  3121.              The  default  for BREAK messages and STEP  messages  is 
  3122.         "on".   If  messages are turned "off" by the SILENT command, 
  3123.         they may be turned back "on" by using the ANNOUNCE  command. 
  3124.         The format of the ANNOUNCE command is:
  3125.  
  3126.                            ANNOUNCE;
  3127.                            ANNOUNCE(BREAK);
  3128.                            ANNOUNCE(STEP);
  3129.  
  3130.  
  3131.              --------------------------------------------------
  3132.              EXAMPLES: 
  3133.              --------------------------------------------------
  3134.  
  3135.              1)  >> ANNOUNCE(STEP); <cr>
  3136.                  Turns on STEP messages
  3137.  
  3138.              2)  >> ANNOUNCE(BREAK) <cr>
  3139.                  Turns on BREAK messages
  3140.  
  3141.              3)  >> SI <cr>
  3142.                  Turns on both STEP and BREAK messages
  3143.              --------------------------------------------------
  3144.  
  3145.         
  3146.         6.4.3  The SHOW_BREAKPOINTS Command
  3147.         
  3148.              The SHOW_BREAKPOINTS command displays breakpoints  that 
  3149.         have  been  set  to  "on"  at  the  user's  console.  If  no 
  3150.         compilation  unit name is specified then all breakpoints  in 
  3151.         all compilation units are displayed.   If a compilation unit 
  3152.         name  is  specified then only breakpoints in  the  specified 
  3153.         compilation   unit   are  displayed.   The  format  of   the 
  3154.         SHOW_BREAKPOINTS command is:
  3155.  
  3156.                        SHOW_BREAKPOINTS;
  3157.                        SHOW_BREAKPOINTS(comp_unit);
  3158.  
  3159.  
  3160.  
  3161.  
  3162.  
  3163.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3164.  
  3165.  
  3166.  
  3167.  
  3168.  
  3169.         Ada Symbolic Debugger User's Guide               Page: 6 - 18
  3170.  
  3171.  
  3172.  
  3173.  
  3174.              --------------------------------------------------
  3175.              EXAMPLES: 
  3176.              --------------------------------------------------
  3177.  
  3178.              1)  >> SHOW_BREAKPOINTS; <cr>
  3179.                  Will  display  all active breakpoints  in  all 
  3180.                  compilation units
  3181.  
  3182.              2)  >> SHOW_BREAKPOINTS(SCHEDULER); <cr>
  3183.                  Will  display  all active breakpoints  in  the 
  3184.                  compilation unit SCHEDULER
  3185.  
  3186.              3)  >> SHOW_BREAK(MAILBOX <cr>
  3187.                  Will  display  all active breakpoints  in  the 
  3188.                  compilation unit MAILBOX
  3189.  
  3190.              4)  >> SHOW_B <cr>
  3191.                  Will  display  all active breakpoints  in  all 
  3192.                  compilation units
  3193.              --------------------------------------------------
  3194.  
  3195.         
  3196.         6.4.4  The SHOW_HISTORY Command
  3197.         
  3198.              The SHOW_HISTORY command displays a history of the most 
  3199.         recently  executed breakpoints at the  user's  console.  The 
  3200.         maximum  number of breakpoints that can be displayed is  10. 
  3201.         The format of the SHOW_HISTORY command is:
  3202.  
  3203.                             SHOW_HISTORY;
  3204.                             SHOW_HISTORY(n);
  3205.  
  3206.         where  "n" is a positive integer in the range 1..10.  If the 
  3207.         parameter "n" is not specified then the default value is 1.
  3208.  
  3209.  
  3210.              --------------------------------------------------
  3211.              EXAMPLES: 
  3212.              --------------------------------------------------
  3213.  
  3214.              1)  >> SHOW_HISTORY(5); <cr>
  3215.                  Will show the last 5 breakpoints executed
  3216.  
  3217.              2)  >> SHOW_HISTORY(4) <cr>
  3218.                  Will show the last 4 breakpoints executed
  3219.  
  3220.              3)  >> SHOW_HIST(6 <cr>
  3221.                  Will show the last 6 breakpoints executed
  3222.  
  3223.              4)  >> SHOW_H
  3224.                  Will show the last breakpoint executed
  3225.              --------------------------------------------------
  3226.  
  3227.  
  3228.  
  3229.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3230.  
  3231.  
  3232.  
  3233.  
  3234.  
  3235.         Ada Symbolic Debugger User's Guide               Page: 6 - 19
  3236.  
  3237.  
  3238.  
  3239.  
  3240.         
  3241.         6.4.5  The DISPLAY_UNITS Command
  3242.         
  3243.              In an Ada tasking environment it is often difficult  to 
  3244.         determine  the  status of program units at a given point  in 
  3245.         the execution of the program.  The DISPLAY_UNITS command can 
  3246.         be  used to display the status of all active program  units, 
  3247.         including  tasks.  Program units are displayed in the  order 
  3248.         that  they  have  been  activated  with  the  most  recently 
  3249.         activated program unit shown first.  Tasks are qualified  by 
  3250.         their  task type activation number to differentiate  between 
  3251.         different objects of the same task type.
  3252.  
  3253.  
  3254.              --------------------------------------------------
  3255.              EXAMPLE: 
  3256.              --------------------------------------------------
  3257.  
  3258.              >> display_units; <cr>
  3259.                 UNIT TYPE  PROGRAM UNIT
  3260.                 ---------  ------------
  3261.                 TASK       READ_MAIL [4]
  3262.              => TASK       READ_MAIL [2]
  3263.                 TASK       READ_MAIL [1]
  3264.                 FUNCTION   MAILMAN.PROCESS_MAIL.NEXT_LETTER
  3265.                 TASK       SEND_MAIL [2]
  3266.                 PROCEDURE  MAILMAN.PROCESS_MAIL
  3267.                 PROCEDURE  MAILMAN
  3268.              >>
  3269.              --------------------------------------------------
  3270.  
  3271.  
  3272.              The  currently executing program unit at the  time  the 
  3273.         DISPLAY_UNITS command is entered is flagged by "=>".
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.         Ada Symbolic Debugger User's Guide               Page: 6 - 20
  3302.  
  3303.  
  3304.  
  3305.         
  3306.         6.5  CONTROLLING PROGRAM EXECUTION
  3307.         
  3308.              Execution Control Commands control the execution of the 
  3309.         Ada program under test.  Commands in this category are:
  3310.  
  3311.                       SET_BREAKPOINT 
  3312.                       CLEAR_BREAKPOINT 
  3313.                       GO 
  3314.                       STEP 
  3315.                       EXIT
  3316.                       QUIT 
  3317.  
  3318.  
  3319.              This section describes the use of each of the  symbolic 
  3320.         debugger's Execution Control Commands.
  3321.  
  3322.  
  3323.         
  3324.         6.5.1  The SET_BREAKPOINT Command
  3325.         
  3326.              The initial default state of all breakpoints is  "off".  
  3327.         The  SET_BREAKPOINT  command  sets  one  or  more  specified 
  3328.         breakpoints  "on".  Breakpoints  that have been set to  "on"  
  3329.         may be cleared by the CLEAR_BREAKPOINT command.   The format 
  3330.         of the SET_BREAKPOINT command is:
  3331.  
  3332.                      SET_BREAKPOINT(n);
  3333.                      SET_BREAKPOINT(comp_unit, n);
  3334.                      SET_BREAKPOINT(pgm_unit);
  3335.                      SET_BREAKPOINT(STANDARD.pgm_unit); 
  3336.  
  3337.         where:   n         = breakpoint number
  3338.                  comp_unit = compilation unit name
  3339.                  pgm_unit  = program unit name
  3340.  
  3341.  
  3342.              If  only  "n" is specified then breakpoint "n"  in  the 
  3343.         current compilation unit is set. If "comp_unit" is specified 
  3344.         then breakpoint "n" in compilation unit "comp_unit" is set.
  3345.  
  3346.              The  parameter "pgm_unit" may be either unqualified  or 
  3347.         fully qualified. If "pgm_unit" is unqualified then the first 
  3348.         breakpoint  in each program unit of the current  compilation 
  3349.         unit  with  the  program unit name  "pgm_unit"  is  set.  If 
  3350.         "pgm_unit"  is  qualified then the first breakpoint of  each 
  3351.         program unit in all compilation units with the program  unit 
  3352.         name "pgm_unit" is set.
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3362.  
  3363.  
  3364.  
  3365.  
  3366.  
  3367.         Ada Symbolic Debugger User's Guide               Page: 6 - 21
  3368.  
  3369.  
  3370.  
  3371.  
  3372.              --------------------------------------------------
  3373.              EXAMPLES: 
  3374.              --------------------------------------------------
  3375.  
  3376.  
  3377.              1)  >> SET_BREAKPOINT(10); <cr>
  3378.                  Sets  breakpoint  number  10  in  the  current 
  3379.                  compilation unit to "on".
  3380.  
  3381.  
  3382.              2)  >> SET_B(A,37 <cr>
  3383.                  Sets  breakpoint number 37 in compilation unit 
  3384.                  A to "on".
  3385.  
  3386.  
  3387.              3)  >> SET_BREAKPOINT(XYZ <cr>
  3388.                  Sets the first breakpoint of each program unit 
  3389.                  in  the  current  compilation  unit  with  the 
  3390.                  program unit name XYZ to "on".
  3391.  
  3392.  
  3393.              4) >> SET_BRE(A.B.C.XYZ) <cr>
  3394.                  Sets the first breakpoint of each program unit 
  3395.                  in  all  compilation  units  with  the   fully 
  3396.                  qualified program unit name A.B.C.XYZ to "on".
  3397.              --------------------------------------------------
  3398.  
  3399.  
  3400.         
  3401.         6.5.2  The CLEAR_BREAKPOINT Command
  3402.         
  3403.              The   default  state  for  all  breakpoints  is  "off". 
  3404.         Breakpoints that have been set to "on" by the SET_BREAKPOINT 
  3405.         command may be reset to "off" by using the  CLEAR_BREAKPOINT 
  3406.         command. The format of the command is:
  3407.  
  3408.                   CLEAR_BREAKPOINT(n);
  3409.                   CLEAR_BREAKPOINT(comp_unit);
  3410.                   CLEAR_BREAKPOINT(comp_unit, n);
  3411.                   CLEAR_BREAKPOINT(pgm_unit);
  3412.                   CLEAR_BREAKPOINT(STANDARD.pgm_unit); 
  3413.                   CLEAR_BREAKPOINT;
  3414.  
  3415.                   where  n         = breakpoint number
  3416.                          comp_unit = compilation unit name
  3417.                          pgm_unit  = program unit name
  3418.  
  3419.  
  3420.  
  3421.  
  3422.  
  3423.  
  3424.  
  3425.  
  3426.  
  3427.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3428.  
  3429.  
  3430.  
  3431.  
  3432.  
  3433.         Ada Symbolic Debugger User's Guide               Page: 6 - 22
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439.              If  only  "n" is specified then breakpoint "n"  in  the 
  3440.         current compilation unit is cleared.  If only "comp_unit" is 
  3441.         specified   then   all  breakpoints  in   compilation   unit 
  3442.         "comp_unit"  are  cleared.  If both "comp_unit" and "n"  are 
  3443.         specified   then   breakpoint  "n"   in   compilation   unit 
  3444.         "comp_unit" is cleared.
  3445.  
  3446.              The  parameter "pgm_unit" may be either unqualified  or 
  3447.         fully  qualified.  If  "pgm_unit"  is unqualified  then  all 
  3448.         breakpoints in each program unit of the current  compilation 
  3449.         unit  with the program unit name "pgm_unit" are cleared.  If 
  3450.         "pgm_unit" is qualified then all breakpoints in each program 
  3451.         unit  of  all compilation units with the program  unit  name 
  3452.         "pgm_unit" are cleared.
  3453.  
  3454.              If  neither a program unit name nor a breakpoint number 
  3455.         is  specified then all breakpoints in all compilation  units 
  3456.         are cleared.
  3457.          
  3458.  
  3459.              --------------------------------------------------
  3460.              EXAMPLES: 
  3461.              --------------------------------------------------
  3462.  
  3463.              1)  >> CLEAR_BREAKPOINT(10); <cr>
  3464.                  Sets  breakpoint  number  10  in  the  current 
  3465.                  compilation unit to "off".
  3466.  
  3467.  
  3468.              2)  >> CLEAR_B(A,37 <cr>
  3469.                  Sets breakpoint number 37 in compilation  unit 
  3470.                  A to "off".
  3471.  
  3472.  
  3473.              3)  >> CLEAR_BREAKPOINT(XYZ <cr>
  3474.                  Sets  all breakpoints in each program unit  of  the 
  3475.                  current compilation unit with the program unit name 
  3476.                  XYZ to "off".
  3477.  
  3478.  
  3479.              4)  >> CLEAR_BRE(A.B.C.XYZ) <cr>
  3480.                  Sets  all breakpoints in each program unit  of 
  3481.                  all compilation units with the fully qualified 
  3482.                  program unit name A.B.C.XYZ to "off".
  3483.  
  3484.  
  3485.              5)  >> C <cr>
  3486.                  Sets  all breakpoints in all program units  of 
  3487.                  all compilation units to "off".
  3488.  
  3489.              --------------------------------------------------
  3490.  
  3491.  
  3492.  
  3493.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3494.  
  3495.  
  3496.  
  3497.  
  3498.  
  3499.         Ada Symbolic Debugger User's Guide               Page: 6 - 23
  3500.  
  3501.  
  3502.         
  3503.         6.5.3  The GO Command
  3504.         
  3505.              The  GO  command  resumes execution  of  the  suspended 
  3506.         program.   Execution will continue until one or more of  the 
  3507.         following conditions occurs:
  3508.  
  3509.              1) An active, or set, breakpoint is encountered.
  3510.  
  3511.              2) A previously entered STEP count is exhausted.
  3512.  
  3513.              3) Program termination due to an unhandled exception.
  3514.  
  3515.  
  3516.              --------------------------------------------------
  3517.              EXAMPLES: 
  3518.              --------------------------------------------------
  3519.  
  3520.              1)  >> GO; <cr>
  3521.  
  3522.              2)  >> GO <cr>
  3523.  
  3524.              3)  >> G; <cr>
  3525.  
  3526.              4)  >> G <cr>
  3527.              --------------------------------------------------
  3528.  
  3529.         
  3530.         6.5.4  The STEP Command
  3531.         
  3532.              The  STEP  command resumes execution of  the  suspended 
  3533.         program  for a specified number of  breakpoints.   Execution 
  3534.         will  continue until one or more of the following conditions 
  3535.         occurs:
  3536.  
  3537.              1) The STEP count is exhausted.
  3538.  
  3539.              2) An active, or set, breakpoint is encountered.
  3540.  
  3541.              3) Program termination due to an unhandled exception.
  3542.  
  3543.  
  3544.         The format of the STEP command is:
  3545.  
  3546.                        STEP;
  3547.                        STEP(step_count);
  3548.  
  3549.         where  step_count  is  the  number  of  breakpoints  to   be 
  3550.         executed.  If a step_count is not specified then the default 
  3551.         value of 1 is used.
  3552.  
  3553.              If  a SET breakpoint is encountered while in step  mode 
  3554.         before the step count is exhausted, then the step count will 
  3555.         be  resumed  when execution is continued with  the  next  GO 
  3556.         command.
  3557.  
  3558.  
  3559.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3560.  
  3561.  
  3562.  
  3563.  
  3564.  
  3565.         Ada Symbolic Debugger User's Guide               Page: 6 - 24
  3566.  
  3567.  
  3568.  
  3569.  
  3570.              The  predefined  keyboard macro <ENTER> may be used  to 
  3571.         execute the STEP command for 1 breakpoint.
  3572.  
  3573.  
  3574.              --------------------------------------------------
  3575.              EXAMPLES: 
  3576.              --------------------------------------------------
  3577.  
  3578.              1)  >> STEP; <cr>
  3579.                  Will resume execution for 1 breakpoint.
  3580.  
  3581.              2)  >> ST(5) <cr>
  3582.                  Will resume execution for 5 breakpoints
  3583.  
  3584.              3)  >> ST(2 <cr>
  3585.                  Will resume execution for 2 breakpoints
  3586.  
  3587.              3)  >> <cr>
  3588.                  Will resume execution for 1 breakpoint
  3589.  
  3590.              --------------------------------------------------
  3591.  
  3592.         
  3593.         6.5.5  The QUIT and EXIT Commands
  3594.         
  3595.              The  QUIT  and EXIT commands  terminate  the  debugging 
  3596.         session  and  and cause an orderly shutdown of  the  program 
  3597.         under  test.  Minimum  2 character abbreviations  for  these 
  3598.         commands   are   required  to  reduce  the  possibility   of 
  3599.         accidental premature program termination. 
  3600.  
  3601.              If  the  instrumented  program  was  invoked  from  the 
  3602.         WIS_DEBUG Shell then execution of the shell will be resumed.  
  3603.         If the program was invoked directly from the system then you 
  3604.         will be returned to the system command level.
  3605.  
  3606.  
  3607.              --------------------------------------------------
  3608.              EXAMPLES: 
  3609.              --------------------------------------------------
  3610.  
  3611.              1)  >> QUIT; <cr>
  3612.  
  3613.              2)  >> QU <cr>
  3614.  
  3615.              3)  >> EXIT; <cr>
  3616.  
  3617.              4)  >> EX <cr>
  3618.  
  3619.              --------------------------------------------------
  3620.  
  3621.  
  3622.  
  3623.  
  3624.  
  3625.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3626.  
  3627.  
  3628.  
  3629.  
  3630.  
  3631.         Ada Symbolic Debugger User's Guide               Page: 6 - 25
  3632.  
  3633.  
  3634.  
  3635.  
  3636.         
  3637.         6.6    EXAMINING AND MODIFYING PROGRAM VARIABLES
  3638.         
  3639.              Program  Variable  Commands  are used  to  examine  and 
  3640.         modify variable data items declared in the Ada program under 
  3641.         test.  Commands in this category are:
  3642.  
  3643.                            PUT_VARIABLE 
  3644.                            SET_VARIABLE 
  3645.  
  3646.  
  3647.         Normal Ada scoping rules and constraints apply:
  3648.  
  3649.              1) Only  program variables that are visible within  the 
  3650.                 scope  of the breakpoint at which execution has been 
  3651.                 suspended may be examined or modified.
  3652.  
  3653.              2) Constants may not be modified.
  3654.  
  3655.              3) Range checking is performed.  Constraint errors will 
  3656.                 be  handled by the debugger and result in  an  error 
  3657.                 message.
  3658.  
  3659.  
  3660.              The  variable to be set  or displayed may be any  legal 
  3661.         Ada  program variable name that is visible within the  scope 
  3662.         of  the  current  breakpoint and  may  include  indexed  and 
  3663.         selected  components.   The variable name may be prefixed by 
  3664.         any portion of the current scope name.
  3665.  
  3666.              Correct syntax is required for array indices and record 
  3667.         components,   although   trailing  right   parentheses   and 
  3668.         semicolons are optional. 
  3669.  
  3670.              Array indices must be literal values. The debugger does 
  3671.         not  evaluate the index expression,  but compares the string 
  3672.         image  of the next index in the array with the  user  input.  
  3673.         If it matches, that element is set or displayed. In the case 
  3674.         of  a slice,  once the lower bound is matched,  all elements 
  3675.         are set or displayed until the upper bound is  matched.   If 
  3676.         no index is given, the whole array is set or displayed.
  3677.  
  3678.  
  3679.         
  3680.         6.6.1  The PUT_VARIABLE Command
  3681.         
  3682.              The  PUT_VARIABLE  command displays the  value  of  Ada 
  3683.         program  variables at the user's console.  The format of the 
  3684.         command is:
  3685.  
  3686.                        PUT_VARIABLE(var_name);
  3687.  
  3688.  
  3689.  
  3690.  
  3691.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3692.  
  3693.  
  3694.  
  3695.  
  3696.  
  3697.         Ada Symbolic Debugger User's Guide               Page: 6 - 26
  3698.  
  3699.  
  3700.  
  3701.  
  3702.  
  3703.              The  parameter  var_name may be any legal  Ada  program 
  3704.         variable  name  that  is visible within  the  scope  of  the 
  3705.         current   breakpoint   and   may  include   subscripts   and 
  3706.         qualifiers. 
  3707.  
  3708.  
  3709.              --------------------------------------------------
  3710.              EXAMPLES: 
  3711.              --------------------------------------------------
  3712.  
  3713.              1)  >> PUT_VARIABLE(COLOR); <cr>
  3714.  
  3715.              2)  >> PUT_VAR(ACCOUNT_NO.SMITH); <cr>
  3716.  
  3717.              3)  >> PUT_V(RECEIVABLES(ACCOUNT_NO.SMITH).BALANCE <cr>
  3718.  
  3719.              4)  >> PUT_V( KIND(3) ) <cr>
  3720.  
  3721.              --------------------------------------------------
  3722.  
  3723.  
  3724.              The  debugger will display the fully qualified name  of 
  3725.         the  variable,   followed  by  its  value.   Components  are 
  3726.         displayed one per line.  If the current scope is an  unnamed 
  3727.         for-loop  or a declare block,  the source instrumenter  will 
  3728.         create  a name for it.   This name will be displayed as part 
  3729.         of the fully qualified name of varibles in the  scope.   The 
  3730.         names   added   by  the  source  instrumenter   begin   with 
  3731.         "SI2AFSD_1861_".
  3732.  
  3733.              *  Named  numbers are all displayed as  floating  point 
  3734.                 values, even if their type is universal_integer.
  3735.  
  3736.              *  OUT mode formal parameters cannot be displayed.
  3737.  
  3738.              *  Variables of type task type cannot be displayed.
  3739.  
  3740.              *  Variables  whose type is private or limited  private 
  3741.                 cannot  be  displayed.   However,  if a variable  is 
  3742.                 declared  in  the  same package  that  declares  the 
  3743.                 private type,  it may be displayed from  breakpoints 
  3744.                 within the package body.
  3745.  
  3746.  
  3747.  
  3748.  
  3749.  
  3750.  
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3758.  
  3759.  
  3760.  
  3761.  
  3762.  
  3763.         Ada Symbolic Debugger User's Guide               Page: 6 - 27
  3764.  
  3765.  
  3766.  
  3767.  
  3768.         
  3769.         6.6.2  The SET_VARIABLE Command
  3770.         
  3771.              The SET_VARIABLE command has the same format and syntax 
  3772.         as an Ada assignment statement.  It is used to set the value 
  3773.         of an Ada program variable.  The format is
  3774.  
  3775.                        VARIABLE := NEW_VALUE;
  3776.  
  3777.         where:  VARIABLE  is an Ada program variable that is visible 
  3778.                 within  the  scope of the breakpoint  at  which  the 
  3779.                 assignment is made.
  3780.  
  3781.                 NEW_VALUE  is a literal value of the same basic type 
  3782.                 as VARIABLE
  3783.  
  3784.  
  3785.              --------------------------------------------------
  3786.              EXAMPLES: 
  3787.              --------------------------------------------------
  3788.  
  3789.              1)  >> DRINKING_AGE := 21; <cr>
  3790.  
  3791.              2)  >> MY_STRING := "A String of Characters"; <cr>
  3792.  
  3793.              3)  >> COLORS(5,3) := ROOT_BEER_BROWN; <cr>
  3794.  
  3795.              4)  >> EMPLOYEE.SEX := FEMALE; <cr>
  3796.  
  3797.              --------------------------------------------------
  3798.  
  3799.  
  3800.              The  new value must have only literal values such  that 
  3801.         TEXT_IO  can  get a value of the expected type as  the  next 
  3802.         item  in  the new value input string.   This value  is  then 
  3803.         assigned  to the variable.   New values are assigned in  the 
  3804.         order  they  are encountered.   Named associations  are  not 
  3805.         supported.   If  an error occurs,  further execution of  the 
  3806.         assignment  command  is abandoned,  however  all  components 
  3807.         assigned  before  the point of the error will have  the  new 
  3808.         value.
  3809.  
  3810.              *  Record  discriminants cannot be changed,  even in  a 
  3811.                 whole record assignment.
  3812.  
  3813.              *  IN mode formal parameters,  constants, access values 
  3814.                 and  task  types  cannot  be  changed.    An  object 
  3815.                 designated by an access value maybe set according to 
  3816.                 the rules for its type.
  3817.  
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3824.  
  3825.  
  3826.  
  3827.  
  3828.  
  3829.         Ada Symbolic Debugger User's Guide               Page: 6 - 28
  3830.  
  3831.  
  3832.  
  3833.  
  3834.  
  3835.              *  The  debugger  does  not support  setting  OUT  mode 
  3836.                 parameters of user defined types.
  3837.  
  3838.              *  Only  OUT  mode formal parameters of  the  following 
  3839.                 types  may be set:
  3840.  
  3841.                        FLOAT 
  3842.                        LONG_FLOAT
  3843.                        SHORT_FLOAT
  3844.                        INTEGER
  3845.                        LONG_INTEGER
  3846.                        SHORT_INTEGER
  3847.                        NATURAL
  3848.                        POSITIVE
  3849.                        BOOLEAN
  3850.                        CHARACTER
  3851.                        STRING
  3852.  
  3853.              *   Variables whose type is private or limited  private 
  3854.                  cannot be changed.   If the variable is declared in 
  3855.                  the same package that declares the private type, it 
  3856.                  may be set from breakpoints within the package body 
  3857.                  according to the rules for its type.
  3858.  
  3859.  
  3860.  
  3861.  
  3862.  
  3863.  
  3864.  
  3865.  
  3866.  
  3867.  
  3868.  
  3869.  
  3870.  
  3871.  
  3872.  
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.  
  3888.  
  3889.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3890.  
  3891.  
  3892.  
  3893.  
  3894.  
  3895.         Ada Symbolic Debugger User's Guide               Page: A - 1
  3896.  
  3897.  
  3898.  
  3899.  
  3900.         
  3901.                                   APPENDIX A
  3902.  
  3903.                         ALPHABETICAL COMMAND SUMMARY
  3904.         
  3905.  
  3906.              This  appendix contains an alphabetical summary of  all 
  3907.         commands in the Ada Symbolic Debugger User Interface Command 
  3908.         Language  (UICL).   An  index  and quick reference  to  each 
  3909.         command  is  included  in Appendix H.  The  following  pages 
  3910.         contain  a  detailed description of  each  command,  syntax, 
  3911.         command arguments,  predefined keyboard macros (if any), and 
  3912.         examples of use.  
  3913.  
  3914.  
  3915.         Command Formats
  3916.  
  3917.              COMMAND;
  3918.              COMMAND(ARGUMENT);
  3919.              COMMAND(ARGUMENT, ARGUMENT);
  3920.  
  3921.  
  3922.         Syntax Rules
  3923.  
  3924.           1. Commands  may  be entered using full Ada syntax  rules. 
  3925.              Named parameter association is allowed but,  once used, 
  3926.              must  be used for all subsequent parameters in the same 
  3927.              command. 
  3928.  
  3929.           2. Case is not significant.
  3930.  
  3931.           3. Blanks  at  the  beginning  and  end  of  commands  and 
  3932.              arguments  and  at  the end of  the  command  line  are 
  3933.              ignored.  Blanks embedded within commands and arguments 
  3934.              are not allowed.
  3935.  
  3936.           4. Only one command per command line is allowed.
  3937.  
  3938.           5. Semicolons and trailing parentheses are optional.
  3939.  
  3940.           6. Commands  and discrete arguments may be abbreviated  to 
  3941.              the fewest number of characters that uniquely  identify 
  3942.              them. 
  3943.  
  3944.  
  3945.  
  3946.  
  3947.  
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.  
  3954.  
  3955.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  3956.  
  3957.  
  3958.  
  3959.  
  3960.  
  3961.         Ada Symbolic Debugger User's Guide               Page: A - 2
  3962.  
  3963.  
  3964.  
  3965.  
  3966.         ----------------------
  3967.         package SHELL_COMMANDS is  --| for Named Parameter Assoc
  3968.         ----------------------
  3969.  
  3970.         --| This is a "pseudo"  package specification for  WIS_DEBUG
  3971.         --| Shell commands.  If named parameter  association is used
  3972.         --| for commands, the parameter names given in the following
  3973.         --| procedure specifications must be used.
  3974.  
  3975.  
  3976.           -----------------
  3977.           procedure COMPILE(SOURCE_FILE : STRING);
  3978.  
  3979.           ----------------
  3980.           procedure DELETE(UNIT_NAME : STRING);
  3981.  
  3982.           --------------
  3983.           procedure EXIT;
  3984.  
  3985.           --------------
  3986.           procedure HELP;
  3987.  
  3988.           -----------------
  3989.           procedure LIBRARY(PROGRAM_LIBRARY);
  3990.  
  3991.           --------------
  3992.           procedure LINK(COMPILATION_UNIT : STRING);
  3993.  
  3994.           --------------
  3995.           procedure QUIT;
  3996.  
  3997.           -------------
  3998.           procedure RUN(COMPILATION_UNIT : STRING);
  3999.  
  4000.           ---------------------
  4001.           procedure SET_LIBRARY(PROGRAM_LIBRARY);
  4002.  
  4003.           ---------------------------
  4004.           procedure SOURCE_INSTRUMENT;
  4005.           procedure SOURCE_INSTRUMENT(
  4006.                       SOURCE_FILE              : STRING;
  4007.                       SOURCE_LISTING_FILE      : STRING;
  4008.                       INSTRUMENTED_SOURCE_FILE : STRING);
  4009.  
  4010.           ------------------------
  4011.           procedure SYSTEM_COMMAND(COMMAND : STRING);
  4012.  
  4013.         end SHELL_COMMANDS;
  4014.  
  4015.  
  4016.  
  4017.  
  4018.  
  4019.  
  4020.  
  4021.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4022.  
  4023.  
  4024.  
  4025.  
  4026.  
  4027.         Ada Symbolic Debugger User's Guide               Page: A - 3
  4028.  
  4029.  
  4030.  
  4031.  
  4032.         -------------------------
  4033.         package DEBUGGER_COMMANDS is   --| for Named Parameter Assoc
  4034.         -------------------------
  4035.  
  4036.         --| This is a "pseudo"  package specification for  WIS_DEBUG
  4037.         --| Debugger commands.  If named  parameter  association  is
  4038.         --| used for commands,  the parameter  names  given  in  the
  4039.         --| following procedure specifications must be used.
  4040.  
  4041.           type MESSAGE_TYPES  is (BREAK, STEP);
  4042.           type TERMINAL_TYPES is (VT100, VT52, VI50, TV950);
  4043.           type MACROS         is (&1, &2, &3, &4, &5, &6, &7, &8, &9);
  4044.                                   -- We know, we know... its not legal
  4045.  
  4046.           ------------------
  4047.           procedure ANNOUNCE(WHICH_MESSAGE : MESSAGE_TYPES);
  4048.           procedure ANNOUNCE;
  4049.  
  4050.           -----------------
  4051.           procedure CANFILE(CANFILE_NAME);
  4052.  
  4053.           --------------------------
  4054.           procedure CLEAR_BREAKPOINT;
  4055.           procedure CLEAR_BREAKPOINT(UNIT_NAME         : STRING);
  4056.           procedure CLEAR_BREAKPOINT(BREAKPOINT_NUMBER : POSITIVE);
  4057.           procedure CLEAR_BREAKPOINT(UNIT_NAME         : STRING;
  4058.                                      BREAKPOINT_NUMBER : POSITIVE);
  4059.  
  4060.           ----------------
  4061.           procedure DEFINE(MACRO : MACROS; VALUE : STRING);
  4062.  
  4063.           -----------------------
  4064.           procedure DISPLAY_UNITS;
  4065.  
  4066.           --------------
  4067.           procedure EXIT;
  4068.  
  4069.           ------------
  4070.           procedure GO;
  4071.  
  4072.           --------------
  4073.           procedure HELP;
  4074.           procedure HELP(TOPIC : STRING);
  4075.  
  4076.           ----------------------
  4077.           procedure PUT_VARIABLE(VARIABLE_NAME : STRING);
  4078.  
  4079.           --------------
  4080.           procedure QUIT;
  4081.  
  4082.           ------------------
  4083.           procedure RECREATE;
  4084.  
  4085.  
  4086.  
  4087.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4088.  
  4089.  
  4090.  
  4091.  
  4092.  
  4093.         Ada Symbolic Debugger User's Guide               Page: A - 4
  4094.  
  4095.  
  4096.  
  4097.  
  4098.           ----------------
  4099.           procedure RESHOW;
  4100.  
  4101.           ----------------
  4102.           procedure SCREEN(TERMINAL_TYPE : TERMINAL_TYPES);
  4103.  
  4104.           ---------------------
  4105.           procedure SCROLL_DOWN;
  4106.  
  4107.           -------------------
  4108.           procedure SCROLL_UP;
  4109.  
  4110.           ------------------------
  4111.           procedure SET_BREAKPOINT(BREAKPOINT NUMBER : POSITIVE);
  4112.           procedure SET_BREAKPOINT(UNIT_NAME         : STRING);
  4113.           procedure SET_BREAKPOINT(UNIT_NAME         : STRING;
  4114.                                    BREAKPOINT NUMBER : POSITIVE);
  4115.  
  4116.           ---------------------
  4117.           procedure SET_LIBRARY(LIBRARY_NAME : STRING);
  4118.  
  4119.           --------------------
  4120.           procedure SET_OUTPUT(NUMBER_OF_LINES : POSITIVE);
  4121.  
  4122.           --------------------
  4123.           procedure SET_SOURCE(NUMBER_OF_LINES : POSITIVE);
  4124.  
  4125.           --------------------------
  4126.           procedure SHOW_BREAKPOINTS(UNIT_NAME : STRING);
  4127.  
  4128.           ---------------------
  4129.           procedure SHOW_DEFINE;
  4130.  
  4131.           ----------------------
  4132.           procedure SHOW_HISTORY(NUMBER_TO_DISPLAY : range 1..10 := 1);
  4133.  
  4134.           ----------------
  4135.           procedure SILENT(WHICH_MESSAGE : MESSAGE_TYPES);
  4136.           procedure SILENT;
  4137.  
  4138.           --------------
  4139.           procedure STEP(LINES : range 1..10 := 1);
  4140.  
  4141.  
  4142.         end DEBUGGER_COMMANDS;
  4143.  
  4144.  
  4145.  
  4146.  
  4147.  
  4148.  
  4149.  
  4150.  
  4151.  
  4152.  
  4153.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4154.  
  4155.  
  4156.  
  4157.  
  4158.  
  4159.         Ada Symbolic Debugger User's Guide               Page: A - 5
  4160.  
  4161.  
  4162.  
  4163.  
  4164.         
  4165.         ------------------------------------------------------------
  4166.                                                     ANNOUNCE Command
  4167.         ------------------------------------------------------------
  4168.         
  4169.  
  4170.         Command Type:           Debug
  4171.  
  4172.         Command Category:       Status
  4173.  
  4174.         Full Ada Format:        ANNOUNCE;
  4175.                                 ANNOUNCE(BREAK);
  4176.                                 ANNOUNCE(STEP);
  4177.  
  4178.         Minimum Abbreviation:   A
  4179.                                 A(BREAK
  4180.                                 A(STEP
  4181.  
  4182.         Keyboard Macro:         None
  4183.  
  4184.         Command Description:
  4185.  
  4186.              Turns on Symbolic Debugger messages at breakpoints  and 
  4187.              step points.  Breakpoint messages and step messages are 
  4188.              of the following form:
  4189.  
  4190.              Break at:  PGM_UNIT_NAME  << BKPT_NUMBER >>
  4191.  
  4192.              Step to:   PGM_UNIT_NAME  << BKPT_NUMBER >>
  4193.  
  4194.              The  default  for BREAK messages and STEP  messages  is 
  4195.              "on".   However, they may be turned "off" by the SILENT 
  4196.              command.
  4197.  
  4198.  
  4199.         Examples:
  4200.  
  4201.              1)  >> ANNOUNCE(STEP); <cr>
  4202.  
  4203.                  Turns on STEP messages
  4204.  
  4205.  
  4206.              2)  >> ANNOUNCE(BREAK) <cr>
  4207.  
  4208.                  Turns on BREAKpoint messages
  4209.  
  4210.  
  4211.              3)  >> A <cr>
  4212.  
  4213.                  Turns on both STEP and BREAKpoint messages
  4214.  
  4215.  
  4216.  
  4217.  
  4218.  
  4219.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4220.  
  4221.  
  4222.  
  4223.  
  4224.  
  4225.         Ada Symbolic Debugger User's Guide               Page: A - 6
  4226.  
  4227.  
  4228.  
  4229.  
  4230.         
  4231.         ------------------------------------------------------------
  4232.                                                      CANFILE Command
  4233.         ------------------------------------------------------------
  4234.         
  4235.  
  4236.         Command Type:           Debug
  4237.  
  4238.         Command Category:       Special Command
  4239.  
  4240.         Full Ada Format:        CANFILE(command_file_name);
  4241.  
  4242.         Minimum Abbreviation:   CA(command_file_name
  4243.  
  4244.         Keyboard Macro:         None
  4245.  
  4246.         Command Description:
  4247.  
  4248.              Execute  Symbolic Debugger commands from a canned input 
  4249.              command  file.   When all commands in the canned  input 
  4250.              command  file  have  been  executed  control  will   be 
  4251.              returned to the user's console.
  4252.  
  4253.  
  4254.         Examples:
  4255.  
  4256.              1)  >> CANFILE(SETUP.CAN); <cr>
  4257.  
  4258.  
  4259.              2)  >> CAN(KEY.DEF) <cr>
  4260.  
  4261.  
  4262.              3)  >> CA(BREAKS.CAN <cr>
  4263.  
  4264.  
  4265.  
  4266.  
  4267.  
  4268.  
  4269.  
  4270.  
  4271.  
  4272.  
  4273.  
  4274.  
  4275.  
  4276.  
  4277.  
  4278.  
  4279.  
  4280.  
  4281.  
  4282.  
  4283.  
  4284.  
  4285.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4286.  
  4287.  
  4288.  
  4289.  
  4290.  
  4291.         Ada Symbolic Debugger User's Guide               Page: A - 7
  4292.  
  4293.  
  4294.  
  4295.  
  4296.         
  4297.         ------------------------------------------------------------
  4298.                                                      COMPILE Command
  4299.         ------------------------------------------------------------
  4300.         
  4301.  
  4302.         Command Type:           Shell
  4303.  
  4304.         Command Category:       Execution Control
  4305.  
  4306.         Format:                 COMPILE(SOURCE_FILE);
  4307.  
  4308.         Minimum Abbreviation:   C(SOURCE_FILE
  4309.  
  4310.         Keyboard Macro:         None
  4311.  
  4312.         Command Description:
  4313.  
  4314.              Invokes  the Ada Compiler to compile the specified  Ada 
  4315.              source file from within the WIS_DEBUG Shell.
  4316.  
  4317.              After  a  unit  has  been instrumented  by  the  Source 
  4318.              Instrumenter  it  must  be  compiled  using  your   Ada 
  4319.              compiler.    If   you  did  not  select  the  automatic 
  4320.              compilation  option after source  instrumentation  then 
  4321.              you  may  use the COMPILE command to avoid exiting  the 
  4322.              shell.
  4323.  
  4324.  
  4325.         Examples:
  4326.  
  4327.              1) COMPILE(TEST.INS); <cr>
  4328.  
  4329.              2) COMPILE(TEST.INS <cr>
  4330.  
  4331.              3) C(TEST.INS <cr>
  4332.  
  4333.  
  4334.  
  4335.  
  4336.  
  4337.  
  4338.  
  4339.  
  4340.  
  4341.  
  4342.  
  4343.  
  4344.  
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350.  
  4351.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4352.  
  4353.  
  4354.  
  4355.  
  4356.  
  4357.         Ada Symbolic Debugger User's Guide               Page: A - 8
  4358.  
  4359.  
  4360.  
  4361.         
  4362.         ------------------------------------------------------------
  4363.                                             CLEAR_BREAKPOINT Command
  4364.         ------------------------------------------------------------
  4365.         
  4366.  
  4367.         Command Type:           Debug
  4368.  
  4369.         Command Category:       Execution Control
  4370.  
  4371.         Full Ada Format:        CLEAR_BREAKPOINT(n);
  4372.                                 CLEAR_BREAKPOINT(comp_unit);
  4373.                                 CLEAR_BREAKPOINT(comp_unit, n);
  4374.                                 CLEAR_BREAKPOINT(pgm_unit);
  4375.                                 CLEAR_BREAKPOINT(STANDARD.pgm_unit); 
  4376.                                 CLEAR_BREAKPOINT;
  4377.  
  4378.         Minimum Abbreviation:   CL(n
  4379.                                 CL(comp_unit
  4380.                                 CL(comp_unit, n
  4381.                                 CL(pgm_unit
  4382.                                 CL(STANDARD.pgm_unit
  4383.                                 CL
  4384.  
  4385.                                 n         = breakpoint number
  4386.                                 comp_unit = compilation unit name
  4387.                                 pgm_unit  = program unit name
  4388.  
  4389.         Keyboard Macro:         None
  4390.  
  4391.         Command Description:
  4392.  
  4393.              Sets  the specified breakpoint "off".  If only  "n"  is 
  4394.              specified   then   breakpoint   "n"  in   the   current 
  4395.              compilation  unit is cleared.  If only  "comp_unit"  is 
  4396.              specified  then  all  breakpoints in  compilation  unit 
  4397.              "comp_unit"  are cleared.  If both "comp_unit" and  "n" 
  4398.              are  specified then breakpoint "n" in compilation  unit 
  4399.              "comp_unit" is cleared.
  4400.  
  4401.              The  parameter "pgm_unit" may be either unqualified  or 
  4402.              fully qualified.  If "pgm_unit" is unqualified then all 
  4403.              breakpoints   in  each  program  unit  of  the  current 
  4404.              compilation unit with the program unit name  "pgm_unit" 
  4405.              are  cleared.  If  "pgm_unit"  is  qualified  then  all 
  4406.              breakpoints  in  each program unit of  all  compilation 
  4407.              units   with  the  program  unit  name  "pgm_unit"  are 
  4408.              cleared.
  4409.  
  4410.              The  default state for all breakpoints is  "off".  They 
  4411.              may be set to "on" by the SET_BREAKPOINT command.
  4412.  
  4413.  
  4414.  
  4415.  
  4416.  
  4417.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4418.  
  4419.  
  4420.  
  4421.  
  4422.  
  4423.         Ada Symbolic Debugger User's Guide               Page: A - 9
  4424.  
  4425.  
  4426.  
  4427.         
  4428.         ------------------------------------------------------------
  4429.                                 CLEAR_BREAKPOINT Command (Continued)
  4430.         ------------------------------------------------------------
  4431.         
  4432.  
  4433.  
  4434.  
  4435.         Examples:
  4436.  
  4437.  
  4438.              1)  >> CLEAR_BREAKPOINT(10); <cr>
  4439.  
  4440.                  Sets   breakpoint   number  10   in   the   current 
  4441.                  compilation unit to "off".
  4442.  
  4443.              2)  >> CLEAR_B(A,37 <cr>
  4444.  
  4445.                  Sets  breakpoint number 37 in compilation unit A to 
  4446.                  "off".
  4447.  
  4448.  
  4449.              3)  >> CLEAR_BREAKPOINT(XYZ <cr>
  4450.  
  4451.                  Sets  all breakpoints in each program unit  of  the 
  4452.                  current compilation unit with the program unit name 
  4453.                  XYZ to "off".
  4454.  
  4455.  
  4456.              4)  >> CLEAR_BRE(A.B.C.XYZ) <cr>
  4457.  
  4458.                  Sets  all  breakpoints in each program unit of  all 
  4459.                  compilation units with the fully qualified  program 
  4460.                  unit name A.B.C.XYZ to "off".
  4461.  
  4462.  
  4463.              5)  >> CL <cr>
  4464.  
  4465.                  Sets  all  breakpoints in all program units of  all 
  4466.                  compilation units to "off".
  4467.  
  4468.  
  4469.  
  4470.  
  4471.  
  4472.  
  4473.  
  4474.  
  4475.  
  4476.  
  4477.  
  4478.  
  4479.  
  4480.  
  4481.  
  4482.  
  4483.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4484.  
  4485.  
  4486.  
  4487.  
  4488.  
  4489.         Ada Symbolic Debugger User's Guide               Page: A - 10
  4490.  
  4491.  
  4492.  
  4493.         
  4494.         ------------------------------------------------------------
  4495.                                                       DEFINE Command
  4496.         ------------------------------------------------------------
  4497.         
  4498.  
  4499.         Command Type:           Debug
  4500.  
  4501.         Command Category:       Special Commands
  4502.  
  4503.         Full Ada Format:        DEFINE( &n, SOME_STRING );
  4504.  
  4505.         Minimum Abbreviation:   DE( &n, SOME_STRING
  4506.                                 
  4507.                                 where
  4508.                                   n           : integer range 1 .. 9;
  4509.                                   SOME_STRING : string;
  4510.  
  4511.         Keyboard Macro:         None
  4512.  
  4513.         Command Description:
  4514.  
  4515.              The  DEFINE  command  is used to  define  new  keyboard 
  4516.              macros.  Up  to 9 new keyboard macros may  be  defined. 
  4517.              Imbedded  blanks  are  allowed.  Leading  and  trailing 
  4518.              blanks are ignored.  Quote characters (") should not be 
  4519.              used  to delimit the string.  They are allowed but will 
  4520.              be interpreted as part of the string. 
  4521.  
  4522.              Once  a keyboard macro has been defined it may be  used 
  4523.              anywhere  on  the command line when the debugger is  in 
  4524.              the command mode.  It may be used to execute an  entire 
  4525.              command, or it may be embedded within a command. 
  4526.  
  4527.         Examples - Given the following definitions:
  4528.  
  4529.              >> DEFINE( &1, SET_BREAKPOINT( ); <cr>
  4530.              >> DEFINE( &2, SHOW_HISTORY; ); <cr>
  4531.              >> DEFINE( &3, SHOW_BREAKPOINTS ); <cr>
  4532.              >> DEFINE( &4, LONG_PACKAGE_NAME.LONG_PROC_NAME ); <cr>
  4533.              >> DEFINE( &5, LONG_FUNCTION_NAME ); <cr>
  4534.  
  4535.         Then
  4536.              >> &2 <cr>
  4537.                 will execute the SHOW_HISTORY command
  4538.  
  4539.              >> &1&4.&5 <cr>
  4540.                 will set the first breakpoint in the program unit
  4541.                 LONG_PACKAGE_NAME.LONG_PROC_NAME.LONG_FUNCTION_NAME
  4542.  
  4543.              >> C(&4 <cr>
  4544.                 will clear all breakpoints in the procedure
  4545.                 LONG_PACKAGE_NAME.LONG_PROC_NAME
  4546.  
  4547.  
  4548.  
  4549.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4550.  
  4551.  
  4552.  
  4553.  
  4554.  
  4555.         Ada Symbolic Debugger User's Guide               Page: A - 11
  4556.  
  4557.  
  4558.  
  4559.  
  4560.         
  4561.         ------------------------------------------------------------
  4562.                                                       DELETE Command
  4563.         ------------------------------------------------------------
  4564.         
  4565.  
  4566.         Command Type:           Shell
  4567.  
  4568.         Command Category:       Library Management
  4569.  
  4570.         Format:                 DELETE(UNIT_NAME);
  4571.  
  4572.         Minimum Abbreviation:   D(UNIT_NAME
  4573.  
  4574.         Keyboard Macro:         None
  4575.  
  4576.         Command Description:
  4577.  
  4578.              Deletes  the  specified program unit from  the  Current 
  4579.              Program Library. No file extension should be specified. 
  4580.              Multiple  files are deleted.  However,  Only files that 
  4581.              are created by the Source Instrumenter are deleted.
  4582.  
  4583.  
  4584.         Examples: 
  4585.  
  4586.              1) DELETE(OLD_PROGRAM); <cr>
  4587.  
  4588.              2) DEL(OLD_PROGRAM) <cr>
  4589.  
  4590.              3) D(OLD_PROGRAM <cr>
  4591.  
  4592.  
  4593.  
  4594.  
  4595.  
  4596.  
  4597.  
  4598.  
  4599.  
  4600.  
  4601.  
  4602.  
  4603.  
  4604.  
  4605.  
  4606.  
  4607.  
  4608.  
  4609.  
  4610.  
  4611.  
  4612.  
  4613.  
  4614.  
  4615.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4616.  
  4617.  
  4618.  
  4619.  
  4620.  
  4621.         Ada Symbolic Debugger User's Guide               Page: A - 12
  4622.  
  4623.  
  4624.  
  4625.         
  4626.         ------------------------------------------------------------
  4627.                                                DISPLAY_UNITS Command
  4628.         ------------------------------------------------------------
  4629.         
  4630.  
  4631.         Command Type:           Debug
  4632.  
  4633.         Command Category:       Status
  4634.  
  4635.         Full Ada Format:        DISPLAY_UNITS;
  4636.  
  4637.         Minimum Abbreviation:   DI
  4638.  
  4639.         Keyboard Macro:         None
  4640.  
  4641.         Command Description:
  4642.  
  4643.              Displays the status of all active program units.  Units 
  4644.              are  displayed  in  the  order  that  they  have   been 
  4645.              activated with the most recently activated program unit 
  4646.              shown  first.  Tasks  are qualified by their task  type 
  4647.              activation  number to differentiate  between  different 
  4648.              objects of the same task type.
  4649.  
  4650.              The  currently  executing program unit at the time  the 
  4651.              DISPLAY_UNITS command is entered is flagged by "=>".
  4652.  
  4653.  
  4654.         Example:
  4655.  
  4656.              >> display_units; <cr>
  4657.                 UNIT TYPE  PROGRAM UNIT
  4658.                 ---------  ------------
  4659.                 TASK       READ_MAIL [4]
  4660.              => TASK       READ_MAIL [2]
  4661.                 TASK       READ_MAIL [1]
  4662.                 FUNCTION   MAILMAN.PROCESS_MAIL.NEXT_LETTER
  4663.                 TASK       SEND_MAIL [2]
  4664.                 PROCEDURE  MAILMAN.PROCESS_MAIL
  4665.                 PROCEDURE  MAILMAN
  4666.              >>
  4667.  
  4668.  
  4669.  
  4670.  
  4671.  
  4672.  
  4673.  
  4674.  
  4675.  
  4676.  
  4677.  
  4678.  
  4679.  
  4680.  
  4681.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4682.  
  4683.  
  4684.  
  4685.  
  4686.  
  4687.         Ada Symbolic Debugger User's Guide               Page: A - 13
  4688.  
  4689.  
  4690.  
  4691.         
  4692.         ------------------------------------------------------------
  4693.                                                         EXIT Command
  4694.         ------------------------------------------------------------
  4695.         
  4696.  
  4697.         Command Type:           Shell and Debug
  4698.  
  4699.         Command Category:       Execution Control
  4700.  
  4701.         Full Ada Format:        EXIT;
  4702.  
  4703.         Minimum Abbreviation:   EX
  4704.  
  4705.         Keyboard Macro:         None
  4706.  
  4707.         Command Description:
  4708.  
  4709.              If  the EXIT command is entered while in  the  debugger 
  4710.              then  the debugging session is terminated in an orderly 
  4711.              manner and control is returned to the WIS_DEBUG shell.
  4712.  
  4713.              If  the EXIT command is entered while in the  WIS_DEBUG 
  4714.              shell  then execution of the shell is terminated in  an 
  4715.              orderly manner and control is returned to the system.
  4716.  
  4717.              The EXIT command performs the identical function as the 
  4718.              QUIT command. Some users prefer EXIT, some prefer QUIT. 
  4719.              The two commands may be used interchangeably.
  4720.  
  4721.  
  4722.         Examples:
  4723.  
  4724.              1)  >> EXIT; <cr>
  4725.  
  4726.              2)  >> EXIT <cr>
  4727.  
  4728.              3)  >> EXI; <cr>
  4729.  
  4730.              4)  >> EXI <cr>
  4731.  
  4732.              5)  >> EX; <cr>
  4733.  
  4734.              6)  >> EX <cr>
  4735.  
  4736.  
  4737.  
  4738.  
  4739.  
  4740.  
  4741.  
  4742.  
  4743.  
  4744.  
  4745.  
  4746.  
  4747.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4748.  
  4749.  
  4750.  
  4751.  
  4752.  
  4753.         Ada Symbolic Debugger User's Guide               Page: A - 14
  4754.  
  4755.  
  4756.  
  4757.         
  4758.         ------------------------------------------------------------
  4759.                                                           GO Command
  4760.         ------------------------------------------------------------
  4761.         
  4762.  
  4763.         Command Type:           Debug
  4764.  
  4765.         Command Category:       Execution Control
  4766.  
  4767.         Full Ada Format:        GO;
  4768.  
  4769.         Minimum Abbreviation:   G
  4770.  
  4771.         Keyboard Macro:         None
  4772.  
  4773.         Command Description:
  4774.  
  4775.              Resumes execution of the suspended program.   Execution 
  4776.              will  continue  until  one or  more  of  the  following 
  4777.              conditions occurs:
  4778.  
  4779.              1) An active, or set, breakpoint is encountered.
  4780.  
  4781.              2) A previously entered STEP count is exhausted.
  4782.  
  4783.              3) Program termination due to an unhandled exception.
  4784.  
  4785.  
  4786.         Examples:
  4787.  
  4788.              1)  >> GO; <cr>
  4789.  
  4790.              2)  >> GO <cr>
  4791.  
  4792.              3)  >> G; <cr>
  4793.  
  4794.              4)  >> G <cr>
  4795.  
  4796.  
  4797.  
  4798.  
  4799.  
  4800.  
  4801.  
  4802.  
  4803.  
  4804.  
  4805.  
  4806.  
  4807.  
  4808.  
  4809.  
  4810.  
  4811.  
  4812.  
  4813.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4814.  
  4815.  
  4816.  
  4817.  
  4818.  
  4819.         Ada Symbolic Debugger User's Guide               Page: A - 15
  4820.  
  4821.  
  4822.  
  4823.         
  4824.         ------------------------------------------------------------
  4825.                                                         HELP Command
  4826.         ------------------------------------------------------------
  4827.         
  4828.  
  4829.         Command Type:           Shell and Debug
  4830.  
  4831.         Command Category:       Special Commands
  4832.  
  4833.         Full Ada Format:        HELP; 
  4834.                                 HELP(topic);
  4835.  
  4836.         Minimum Abbreviation:   H 
  4837.                                 H(topic 
  4838.  
  4839.         Keyboard Macro:         None
  4840.  
  4841.         Command Description:
  4842.  
  4843.              Displays  information  about the  WIS_DEBUG  Shell  and 
  4844.              Symbolic  Debugger  commands  and  features.  The  HELP 
  4845.              command  may  be  entered  at any  time  the  shell  or 
  4846.              debugger is in "command" mode.
  4847.  
  4848.              "Topic" may be abbreviated.  If no "topic" is specified 
  4849.              or  if  an invalid "topic" is specified then a menu  of 
  4850.              all  available HELP topics is displayed.  If "topic" is 
  4851.              ambiguous  then  a list possible  intended  topics  and 
  4852.              their minimum abbreviations is displayed.
  4853.  
  4854.  
  4855.         Examples:
  4856.  
  4857.              1)  >> HELP; <cr>
  4858.                  Will display a menu of all available HELP topics
  4859.  
  4860.  
  4861.              2)  >> HELP(ANNOUNCE); <cr>
  4862.                  Will display information about the ANNOUNCE command
  4863.  
  4864.  
  4865.              3)  >> H(DEFINE <cr>
  4866.                  Will display information about the DEFINE command
  4867.  
  4868.  
  4869.              4)  >> H(T <cr>
  4870.                  If  only one topic begins with "T" then information 
  4871.                  about  that topic will be displayed.  If more  than 
  4872.                  one  topic  begins with "T" then a  list  of  those 
  4873.                  topics  and  their  minimum abbreviations  will  be 
  4874.                  displayed.
  4875.  
  4876.  
  4877.  
  4878.  
  4879.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4880.  
  4881.  
  4882.  
  4883.  
  4884.  
  4885.         Ada Symbolic Debugger User's Guide               Page: A - 16
  4886.  
  4887.  
  4888.  
  4889.  
  4890.         
  4891.         ------------------------------------------------------------
  4892.                                                      LIBRARY Command
  4893.         ------------------------------------------------------------
  4894.         
  4895.  
  4896.         Command Type:           Shell
  4897.  
  4898.         Command Category:       Library Management
  4899.  
  4900.         Format:                 LIBRARY(PROGRAM_LIBRARY);
  4901.  
  4902.         Minimum Abbreviation:   LIB(PROGRAM_LIBRARY
  4903.  
  4904.         Keyboard Macro:         None
  4905.  
  4906.         Command Description:
  4907.  
  4908.              Sets the name of the default program library to be used 
  4909.              by  the WIS_DEBUG Shell.   This command is functionally 
  4910.              equivalent to the SET_LIBRARY command.
  4911.  
  4912.              The Source Instrumenter creates numerous files that are 
  4913.              used  by  the Symbolic Debugger during  execution.  The 
  4914.              name  of  the program library will be appended  to  the 
  4915.              front  of  all file names by the  source  instrumenter. 
  4916.              Therefore,  it  must  be  entered EXACTLY  as  will  be 
  4917.              required  for  the system you are  using.  Examples  of 
  4918.              valid  program library names for the DEC VAX under  VMS 
  4919.              4.0 are shown below.
  4920.  
  4921.  
  4922.         Examples: 
  4923.  
  4924.              1) LIBRARY( [.PGMLIB] ); <cr>
  4925.  
  4926.              2) LIBRARY( [USER.NOSC.TEST.PGMLIB] <cr>
  4927.  
  4928.              3) LIBR( DRC0:[USER.NOSC.TEST.PGMLIB] <cr>
  4929.  
  4930.              4) LIB( [.PGMLIB] ); <cr>
  4931.  
  4932.  
  4933.  
  4934.  
  4935.  
  4936.  
  4937.  
  4938.  
  4939.  
  4940.  
  4941.  
  4942.  
  4943.  
  4944.  
  4945.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  4946.  
  4947.  
  4948.  
  4949.  
  4950.  
  4951.         Ada Symbolic Debugger User's Guide               Page: A - 17
  4952.  
  4953.  
  4954.  
  4955.  
  4956.         
  4957.         ------------------------------------------------------------
  4958.                                                         LINK Command
  4959.         ------------------------------------------------------------
  4960.         
  4961.  
  4962.         Command Type:           Shell
  4963.  
  4964.         Command Category:       Execution Control
  4965.  
  4966.         Format:                 LINK(COMPILATION_UNIT);
  4967.  
  4968.         Minimum Abbreviation:   LIN(COMPILATION_UNIT
  4969.  
  4970.         Keyboard Macro:         None
  4971.  
  4972.         Command Description:
  4973.  
  4974.              Invokes the LINKER to link the instrumented compilation 
  4975.              unit from within the WIS_DEBUG Shell.   The executeable 
  4976.              load   module  is  created  in  the   current   working 
  4977.              directory.
  4978.  
  4979.  
  4980.  
  4981.         Examples:
  4982.  
  4983.              1) LINK(TEST); <cr>
  4984.  
  4985.              2) LINK(TEST <cr>
  4986.  
  4987.              3) LIN(TEST <cr>
  4988.  
  4989.  
  4990.  
  4991.  
  4992.  
  4993.  
  4994.  
  4995.  
  4996.  
  4997.  
  4998.  
  4999.  
  5000.  
  5001.  
  5002.  
  5003.  
  5004.  
  5005.  
  5006.  
  5007.  
  5008.  
  5009.  
  5010.  
  5011.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5012.  
  5013.  
  5014.  
  5015.  
  5016.  
  5017.         Ada Symbolic Debugger User's Guide               Page: A - 18
  5018.  
  5019.  
  5020.  
  5021.         
  5022.         ------------------------------------------------------------
  5023.                                                 PUT_VARIABLE Command
  5024.         ------------------------------------------------------------
  5025.         
  5026.  
  5027.         Command Type:           Debug
  5028.  
  5029.         Command Category:       Program Variable
  5030.  
  5031.         Full Ada Format:        PUT_VARIABLE(var_name);
  5032.  
  5033.         Minimum Abbreviation:   P(var_name
  5034.                                 P(var_name(subscript))
  5035.  
  5036.         Keyboard Macro:         None
  5037.  
  5038.         Command Description:
  5039.  
  5040.              Puts (or displays) the value of the specified  variable 
  5041.              at the user's console. 
  5042.  
  5043.              The  parameter  var_name may be any legal  Ada  program 
  5044.              variable  name that is visible within the scope of  the 
  5045.              current  breakpoint  and  may  include  subscripts  and 
  5046.              qualifiers.  Trailing parentheses and the semicolon are
  5047.              optional.
  5048.  
  5049.  
  5050.         Examples:
  5051.  
  5052.              1)  >> PUT_VARIABLE(COLOR); <cr>
  5053.  
  5054.              2)  >> PUT_VAR(ACCOUNT_NUMBER.SMITH); <cr>
  5055.  
  5056.              3)  >> PUT_V(RECEIVABLES(ACCOUNT_NO.SMITH).BALANCE <cr>
  5057.  
  5058.              4)  >> PUT_V( KIND(3) ) <cr>
  5059.  
  5060.  
  5061.              Note  that  in  examples  1 and  2  above  the  closing 
  5062.              parentheses are optional while in example 4 the closing 
  5063.              parentheses  are required.   In example 3,  the closing 
  5064.              parenthesis  for  the  subscript is  embedded  and  is, 
  5065.              therefore,  required.  However, since the variable name 
  5066.              does  not END with a closing parenthesis,  the  closing 
  5067.              parenthesis  and semicolon for the procedure  call  are 
  5068.              optional.
  5069.  
  5070.  
  5071.  
  5072.  
  5073.  
  5074.  
  5075.  
  5076.  
  5077.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5078.  
  5079.  
  5080.  
  5081.  
  5082.  
  5083.         Ada Symbolic Debugger User's Guide               Page: A - 19
  5084.  
  5085.  
  5086.  
  5087.         
  5088.         ------------------------------------------------------------
  5089.                                                         QUIT Command
  5090.         ------------------------------------------------------------
  5091.         
  5092.  
  5093.         Command Type:           Shell and Debug
  5094.  
  5095.         Command Category:       Execution Control
  5096.  
  5097.         Full Ada Format:        QUIT;
  5098.  
  5099.         Minimum Abbreviation:   QU
  5100.  
  5101.         Keyboard Macro:         None
  5102.  
  5103.         Command Description:
  5104.  
  5105.              If  the QUIT command is entered while in  the  debugger 
  5106.              then  the debugging session is terminated in an orderly 
  5107.              manner and control is returned to the WIS_DEBUG shell.
  5108.  
  5109.              If  the QUIT command is entered while in the  WIS_DEBUG 
  5110.              shell  then execution of the shell is terminated in  an 
  5111.              orderly manner and control is returned to the system.
  5112.  
  5113.              The QUIT command performs the identical function as the 
  5114.              EXIT command. Some users prefer QUIT, some prefer EXIT. 
  5115.              The two commands may be used interchangeably.
  5116.  
  5117.  
  5118.         Examples:
  5119.  
  5120.              1)  >> QUIT; <cr>
  5121.  
  5122.              2)  >> QUIT <cr>
  5123.  
  5124.              3)  >> QUI; <cr>
  5125.  
  5126.              4)  >> QUI <cr>
  5127.  
  5128.              5)  >> QU; <cr>
  5129.  
  5130.              6)  >> QU <cr>
  5131.  
  5132.  
  5133.  
  5134.  
  5135.  
  5136.  
  5137.  
  5138.  
  5139.  
  5140.  
  5141.  
  5142.  
  5143.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5144.  
  5145.  
  5146.  
  5147.  
  5148.  
  5149.         Ada Symbolic Debugger User's Guide               Page: A - 20
  5150.  
  5151.  
  5152.  
  5153.         
  5154.         ------------------------------------------------------------
  5155.                                                     RECREATE Command
  5156.         ------------------------------------------------------------
  5157.         
  5158.  
  5159.         Command Type:           Debug
  5160.  
  5161.         Command Category:       Terminal Control
  5162.  
  5163.         Full Ada Format:        RECREATE;
  5164.  
  5165.         Minimum Abbreviation:   REC
  5166.  
  5167.         Keyboard Macro:         None
  5168.  
  5169.         Command Description:
  5170.  
  5171.              Recreates  the  terminal display in screen  mode.  Each 
  5172.              display  region (OUTPUT,  SOURCE,  USER)  is  recreated 
  5173.              separately. 
  5174.  
  5175.              In a multi-user time sharing environment situations may 
  5176.              occur that affect the display when in screen mode  such 
  5177.              as  messages  from other users,  batch  job  completion 
  5178.              messages  from the system,  etc.  It is not within  the 
  5179.              capability  of the debugger to inhibit such situations. 
  5180.              However,  when  this  happens the  screen  display  can 
  5181.              normally  be regenerated using the RESHOW command  with 
  5182.              no loss of information. 
  5183.  
  5184.              The  RECREATE  command must used be when  certain  more 
  5185.              extreme  situations  occur  that  directly  affect  the 
  5186.              screen  mode  of  the terminal,  such  as  user  output 
  5187.              sending  a  control or escape sequence to the  terminal 
  5188.              that  takes it out of screen mode.  Situations such  as 
  5189.              this  may  require that the terminal be placed  into  a 
  5190.              "local" mode,  reset,  and then placed back  "on-line".  
  5191.              The  screen  display must then be recreated  using  the 
  5192.              RECREATE command. The OUTPUT region of the display will 
  5193.              be  restored  to the most recent  command,  the  SOURCE 
  5194.              region will be restored to the current listing file and 
  5195.              breakpoint,  and  the  USER region will be  cleared  to 
  5196.              avoid  duplication  of  the condition that  caused  the 
  5197.              problem. 
  5198.  
  5199.  
  5200.         Examples:
  5201.  
  5202.              1)  >> RECREATE; <cr>
  5203.              2)  >> RECREATE <cr>
  5204.              3)  >> RECRE; <cr>
  5205.              4)  >> REC <cr>
  5206.  
  5207.  
  5208.  
  5209.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5210.  
  5211.  
  5212.  
  5213.  
  5214.  
  5215.         Ada Symbolic Debugger User's Guide               Page: A - 21
  5216.  
  5217.  
  5218.  
  5219.         
  5220.         ------------------------------------------------------------
  5221.                                                       RESHOW Command
  5222.         ------------------------------------------------------------
  5223.         
  5224.  
  5225.         Command Type:           Debug
  5226.  
  5227.         Command Category:       Terminal Control
  5228.  
  5229.         Full Ada Format:        RESHOW;
  5230.  
  5231.         Minimum Abbreviation:   RES
  5232.  
  5233.         Keyboard Macro:         None
  5234.  
  5235.         Command Description:
  5236.  
  5237.              Regenerates the terminal display in screen  mode.
  5238.  
  5239.              In a multi-user time sharing environment situations may 
  5240.              occur that affect the display when in screen mode  such 
  5241.              as  messages  from other users,  batch  job  completion 
  5242.              messages  from the system,  etc.  It is not within  the 
  5243.              capability  of the debugger to inhibit such situations. 
  5244.              However,  when  this  happens the  screen  display  can 
  5245.              normally  be regenerated using the RESHOW command  with 
  5246.              no loss of information. 
  5247.  
  5248.              If  the  situation  cannot be corrected  by  using  the 
  5249.              RESHOW command, then the RECREATE command may be used.
  5250.  
  5251.  
  5252.         Examples:
  5253.  
  5254.              1)  >> RESHOW; <cr>
  5255.  
  5256.              2)  >> RESHOW <cr>
  5257.  
  5258.              3)  >> RESH; <cr>
  5259.  
  5260.              4)  >> RES <cr>
  5261.  
  5262.  
  5263.  
  5264.  
  5265.  
  5266.  
  5267.  
  5268.  
  5269.  
  5270.  
  5271.  
  5272.  
  5273.  
  5274.  
  5275.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5276.  
  5277.  
  5278.  
  5279.  
  5280.  
  5281.         Ada Symbolic Debugger User's Guide               Page: A - 22
  5282.  
  5283.  
  5284.  
  5285.  
  5286.         
  5287.         ------------------------------------------------------------
  5288.                                                          RUN Command
  5289.         ------------------------------------------------------------
  5290.         
  5291.  
  5292.         Command Type:           Shell
  5293.  
  5294.         Command Category:       Execution Control
  5295.  
  5296.         Format:                 RUN(COMPILATION_UNIT);
  5297.  
  5298.         Minimum Abbreviation:   R(COMPILATION_UNIT
  5299.  
  5300.         Keyboard Macro:         None
  5301.  
  5302.         Command Description:
  5303.  
  5304.              Executes  an  instrumented  program   from  within  the 
  5305.              WIS_DEBUG  Shell.  COMPILATION_UNIT  must have  already 
  5306.              been compiled and linked.
  5307.  
  5308.  
  5309.  
  5310.         Examples:
  5311.  
  5312.              1) RUN(TEST); <cr>
  5313.  
  5314.              2) RUN(TEST <cr>
  5315.  
  5316.              3) R(TEST <cr>
  5317.  
  5318.  
  5319.  
  5320.  
  5321.  
  5322.  
  5323.  
  5324.  
  5325.  
  5326.  
  5327.  
  5328.  
  5329.  
  5330.  
  5331.  
  5332.  
  5333.  
  5334.  
  5335.  
  5336.  
  5337.  
  5338.  
  5339.  
  5340.  
  5341.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5342.  
  5343.  
  5344.  
  5345.  
  5346.  
  5347.         Ada Symbolic Debugger User's Guide               Page: A - 23
  5348.  
  5349.  
  5350.  
  5351.         
  5352.         ------------------------------------------------------------
  5353.                                                       SCREEN Command
  5354.         ------------------------------------------------------------
  5355.         
  5356.  
  5357.         Command Type:           Debug
  5358.  
  5359.         Command Category:       Terminal Control
  5360.  
  5361.         Full Ada Format:        SCREEN(term_type);
  5362.  
  5363.         Minimum Abbreviation:   SCRE(term_type
  5364.  
  5365.         Keyboard Macro:         None
  5366.  
  5367.         Command Description:
  5368.  
  5369.              Changes  the  debugger  from NON SCREEN mode  (tty)  to 
  5370.              SCREEN mode.   "term_type" must be a previously defined 
  5371.              screen  mode  terminal  in the  Terminal  Control  File 
  5372.              (TCF.DAT).
  5373.  
  5374.  
  5375.         Examples:
  5376.  
  5377.              1)  >> SCREEN(VT100); <cr>
  5378.  
  5379.              2)  >> SCREEN(TV970) <cr>
  5380.  
  5381.              3)  >> SCREEN(VT52 <cr>
  5382.  
  5383.              4)  >> SCRE(VI50 <cr>
  5384.  
  5385.  
  5386.  
  5387.  
  5388.  
  5389.  
  5390.  
  5391.  
  5392.  
  5393.  
  5394.  
  5395.  
  5396.  
  5397.  
  5398.  
  5399.  
  5400.  
  5401.  
  5402.  
  5403.  
  5404.  
  5405.  
  5406.  
  5407.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5408.  
  5409.  
  5410.  
  5411.  
  5412.  
  5413.         Ada Symbolic Debugger User's Guide               Page: A - 24
  5414.  
  5415.  
  5416.  
  5417.         
  5418.         ------------------------------------------------------------
  5419.                                                  SCROLL_DOWN Command
  5420.         ------------------------------------------------------------
  5421.         
  5422.  
  5423.         Command Type:           Debug
  5424.  
  5425.         Command Category:       Terminal Control
  5426.  
  5427.         Full Ada Format:        SCROLL_DOWN;
  5428.  
  5429.         Minimum Abbreviation:   SCROLL_D
  5430.  
  5431.         Keyboard Macro:         <PF3>
  5432.  
  5433.         Command Description:
  5434.  
  5435.              Scrolls  the  SOURCE display region "window"  down  one 
  5436.              "page" in the current listing file.  A "page" is  equal 
  5437.              to  the current size of the SOURCE display region.  The 
  5438.              default  size of the SOURCE display region is  8  lines 
  5439.              but may be changed by the SET_SOURCE command.
  5440.  
  5441.  
  5442.         Examples:
  5443.  
  5444.              1)  >> SCROLL_DOWN; <cr>
  5445.  
  5446.              2)  >> SCROLL_DOWN <cr>
  5447.  
  5448.              3)  >> SCROLL_DO; <cr>
  5449.  
  5450.              4)  >> SCROLL_D <cr>
  5451.  
  5452.              5)  >> <PF3>
  5453.  
  5454.  
  5455.  
  5456.  
  5457.  
  5458.  
  5459.  
  5460.  
  5461.  
  5462.  
  5463.  
  5464.  
  5465.  
  5466.  
  5467.  
  5468.  
  5469.  
  5470.  
  5471.  
  5472.  
  5473.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5474.  
  5475.  
  5476.  
  5477.  
  5478.  
  5479.         Ada Symbolic Debugger User's Guide               Page: A - 25
  5480.  
  5481.  
  5482.  
  5483.         
  5484.         ------------------------------------------------------------
  5485.                                                    SCROLL_UP Command
  5486.         ------------------------------------------------------------
  5487.         
  5488.  
  5489.         Command Type:           Debug
  5490.  
  5491.         Command Category:       Terminal Control
  5492.  
  5493.         Full Ada Format:        SCROLL_UP;
  5494.  
  5495.         Minimum Abbreviation:   SCROLL_U
  5496.  
  5497.         Keyboard Macro:         <PF2>
  5498.  
  5499.         Command Description:
  5500.  
  5501.              Scrolls  the  SOURCE  display region  "window"  up  one 
  5502.              "page"  in the current listing file.  A "page" is equal 
  5503.              to the current size of the SOURCE display  region.  The 
  5504.              default  size  of the SOURCE display region is 8  lines 
  5505.              but may be changed by the SET_SOURCE command.
  5506.  
  5507.  
  5508.         Examples:
  5509.  
  5510.              1)  >> SCROLL_UP; <cr>
  5511.  
  5512.              2)  >> SCROLL_UP <cr>
  5513.  
  5514.              3)  >> SCROLL_U; <cr>
  5515.  
  5516.              4)  >> SCROLL_U <cr>
  5517.  
  5518.              5)  >> <PF2>
  5519.  
  5520.  
  5521.  
  5522.  
  5523.  
  5524.  
  5525.  
  5526.  
  5527.  
  5528.  
  5529.  
  5530.  
  5531.  
  5532.  
  5533.  
  5534.  
  5535.  
  5536.  
  5537.  
  5538.  
  5539.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5540.  
  5541.  
  5542.  
  5543.  
  5544.  
  5545.         Ada Symbolic Debugger User's Guide               Page: A - 26
  5546.  
  5547.  
  5548.  
  5549.         
  5550.         ------------------------------------------------------------
  5551.                                               SET_BREAKPOINT Command
  5552.         ------------------------------------------------------------
  5553.         
  5554.  
  5555.         Command Type:           Debug
  5556.  
  5557.         Command Category:       Execution Control
  5558.  
  5559.         Full Ada Format:        SET_BREAKPOINT(n);
  5560.                                 SET_BREAKPOINT(comp_unit, n);
  5561.                                 SET_BREAKPOINT(pgm_unit);
  5562.                                 SET_BREAKPOINT(STANDARD.pgm_unit); 
  5563.  
  5564.         Minimum Abbreviation:   SET_B(n
  5565.                                 SET_B(comp_unit, n
  5566.                                 SET_B(pgm_unit
  5567.                                 SET_B(STANDARD.pgm_unit
  5568.  
  5569.                                 n         = breakpoint number
  5570.                                 comp_unit = compilation unit name
  5571.                                 pgm_unit  = program unit name
  5572.  
  5573.         Keyboard Macro:         None
  5574.  
  5575.         Command Description:
  5576.  
  5577.              Sets  the  specified breakpoint "on".  If only  "n"  is 
  5578.              specified   then   breakpoint   "n"  in   the   current 
  5579.              compilation  unit is set.  If "comp_unit" is  specified 
  5580.              then breakpoint "n" in compilation unit "comp_unit"  is 
  5581.              set.
  5582.  
  5583.              "pgm_unit"   may   be  either  unqualified   or   fully 
  5584.              qualified.  If "pgm_unit" is unqualified then the first 
  5585.              breakpoint   in  each  program  unit  of  the   current 
  5586.              compilation unit with the program unit name  "pgm_unit" 
  5587.              is  set.  If  "pgm_unit"  is qualified then  the  first 
  5588.              breakpoint  of  each program unit  in  all  compilation 
  5589.              units with the program unit name "pgm_unit" is set.
  5590.  
  5591.              The  initial default state of all breakpoints is "off". 
  5592.              Breakpoints  that have been set to "on"  may be cleared 
  5593.              by the CLEAR_BREAKPOINT command.
  5594.  
  5595.  
  5596.  
  5597.  
  5598.  
  5599.  
  5600.  
  5601.  
  5602.  
  5603.  
  5604.  
  5605.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5606.  
  5607.  
  5608.  
  5609.  
  5610.  
  5611.         Ada Symbolic Debugger User's Guide               Page: A - 27
  5612.  
  5613.  
  5614.  
  5615.         
  5616.         ------------------------------------------------------------
  5617.                                   SET_BREAKPOINT Command (Continued)
  5618.         ------------------------------------------------------------
  5619.         
  5620.  
  5621.  
  5622.         Examples:
  5623.  
  5624.              1)  >> SET_BREAKPOINT(10); <cr>
  5625.  
  5626.                  Sets   breakpoint   number   10  in   the   current 
  5627.                  compilation unit to "on".
  5628.  
  5629.  
  5630.              2)  >> SET_B(A,37 <cr>
  5631.  
  5632.                  Sets breakpoint number 37 in compilation unit A  to 
  5633.                  "on".
  5634.  
  5635.  
  5636.              3)  >> SET_BREAKPOINT(XYZ <cr>
  5637.  
  5638.                  Sets  the first breakpoint of each program unit  in 
  5639.                  the  current compilation unit with the program unit 
  5640.                  name XYZ.
  5641.  
  5642.  
  5643.              4) >> SET_BRE(A.B.C.XYZ) <cr>
  5644.  
  5645.                  Sets  the first breakpoint of each program unit  in 
  5646.                  all  compilation  units with  the  fully  qualified 
  5647.                  program unit name A.B.C.XYZ.
  5648.  
  5649.  
  5650.  
  5651.  
  5652.  
  5653.  
  5654.  
  5655.  
  5656.  
  5657.  
  5658.  
  5659.  
  5660.  
  5661.  
  5662.  
  5663.  
  5664.  
  5665.  
  5666.  
  5667.  
  5668.  
  5669.  
  5670.  
  5671.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5672.  
  5673.  
  5674.  
  5675.  
  5676.  
  5677.         Ada Symbolic Debugger User's Guide               Page: A - 28
  5678.  
  5679.  
  5680.  
  5681.  
  5682.         
  5683.         ------------------------------------------------------------
  5684.                                                  SET_LIBRARY Command
  5685.         ------------------------------------------------------------
  5686.         
  5687.  
  5688.         Command Type:           Shell and Debug
  5689.  
  5690.         Command Category:       Library Management
  5691.  
  5692.         Format:                 SET_LIBRARY(PROGRAM_LIBRARY);
  5693.  
  5694.         Minimum Abbreviation:   Shell: SE(PROGRAM_LIBRARY
  5695.                                 Debug: SET_L(PROGRAM_LIBRARY
  5696.  
  5697.         Keyboard Macro:         None
  5698.  
  5699.         Command Description:
  5700.  
  5701.              Sets the name of the default program library to be used 
  5702.              by  the  WIS_DEBUG Shell and the Symbolic  Debugger  to 
  5703.              PROGRAM_LIBRARY.
  5704.  
  5705.              The Source Instrumenter creates numerous files that are 
  5706.              used  by  the Symbolic Debugger during  execution.  The 
  5707.              name  of  the program library will be appended  to  the 
  5708.              front  of  all file names by the  source  instrumenter. 
  5709.              Therefore,  it  must  be  entered EXACTLY  as  will  be 
  5710.              required  for  the system you are  using.  Examples  of 
  5711.              valid  program library names for the DEC VAX under  VMS 
  5712.              4.0 are shown below.
  5713.  
  5714.  
  5715.         Examples: 
  5716.  
  5717.              1) SET_LIBRARY( [.PGMLIB] ); <cr>
  5718.  
  5719.              2) SET_LIBRARY( [USER.NOSC.TEST.PGMLIB] <cr>
  5720.  
  5721.              3) SET_L( DRC0:[USER.NOSC.TEST.PGMLIB] <cr>
  5722.  
  5723.              4) SE( [.PGMLIB] ); <cr>     --> Valid only in SHELL
  5724.  
  5725.  
  5726.  
  5727.  
  5728.  
  5729.  
  5730.  
  5731.  
  5732.  
  5733.  
  5734.  
  5735.  
  5736.  
  5737.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5738.  
  5739.  
  5740.  
  5741.  
  5742.  
  5743.         Ada Symbolic Debugger User's Guide               Page: A - 29
  5744.  
  5745.  
  5746.  
  5747.         
  5748.         ------------------------------------------------------------
  5749.                                                   SET_OUTPUT Command
  5750.         ------------------------------------------------------------
  5751.         
  5752.  
  5753.         Command Type:           Debug
  5754.  
  5755.         Command Category:       Terminal Control
  5756.  
  5757.         Full Ada Format:        SET_OUTPUT(size);
  5758.  
  5759.         Minimum Abbreviation:   SET_O(size
  5760.  
  5761.         Keyboard Macro:         None
  5762.  
  5763.         Command Description:
  5764.  
  5765.              Sets  the  size  of the OUTPUT region of  the  terminal 
  5766.              display  in screen mode to "size" lines.   The  default 
  5767.              OUTPUT display region is 6 lines.
  5768.  
  5769.  
  5770.  
  5771.         Examples:
  5772.  
  5773.              1)  >> SET_OUTPUT(10); <cr>
  5774.  
  5775.                  Sets the OUTPUT display region to 10 lines
  5776.  
  5777.  
  5778.              2)  >> SET_O(8 <cr>
  5779.  
  5780.                  Sets the OUTPUT display region to 8 lines
  5781.  
  5782.  
  5783.  
  5784.  
  5785.  
  5786.  
  5787.  
  5788.  
  5789.  
  5790.  
  5791.  
  5792.  
  5793.  
  5794.  
  5795.  
  5796.  
  5797.  
  5798.  
  5799.  
  5800.  
  5801.  
  5802.  
  5803.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5804.  
  5805.  
  5806.  
  5807.  
  5808.  
  5809.         Ada Symbolic Debugger User's Guide               Page: A - 30
  5810.  
  5811.  
  5812.  
  5813.         
  5814.         ------------------------------------------------------------
  5815.                                                   SET_SOURCE Command
  5816.         ------------------------------------------------------------
  5817.         
  5818.  
  5819.         Command Type:           Debug
  5820.  
  5821.         Command Category:       Terminal Control
  5822.  
  5823.         Full Ada Format:        SET_SOURCE(size);
  5824.  
  5825.         Minimum Abbreviation:   SET_S(size
  5826.  
  5827.         Keyboard Macro:         None
  5828.  
  5829.         Command Description:
  5830.  
  5831.              Sets  the  size  of the SOURCE region of  the  terminal 
  5832.              display  in screen mode to "size" lines.   The  default 
  5833.              SOURCE display region is 8 lines.
  5834.  
  5835.  
  5836.         Examples:
  5837.  
  5838.              1)  >> SET_SOURCE(10); <cr>
  5839.  
  5840.                  Sets the SOURCE display region to 10 lines
  5841.  
  5842.  
  5843.              2)  >> SET_S(9 <cr>
  5844.  
  5845.                  Sets the SOURCE display region to 9 lines
  5846.  
  5847.  
  5848.  
  5849.  
  5850.  
  5851.  
  5852.  
  5853.  
  5854.  
  5855.  
  5856.  
  5857.  
  5858.  
  5859.  
  5860.  
  5861.  
  5862.  
  5863.  
  5864.  
  5865.  
  5866.  
  5867.  
  5868.  
  5869.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5870.  
  5871.  
  5872.  
  5873.  
  5874.  
  5875.         Ada Symbolic Debugger User's Guide               Page: A - 31
  5876.  
  5877.  
  5878.  
  5879.         
  5880.         ------------------------------------------------------------
  5881.                                                 SET_VARIABLE Command
  5882.         ------------------------------------------------------------
  5883.         
  5884.  
  5885.         Command Type:           Debug
  5886.  
  5887.         Command Category:       Program Variable
  5888.  
  5889.         Full Ada Format:        VARIABLE_NAME := VALUE;
  5890.  
  5891.         Minimum Abbreviation:   VARIABLE_NAME := VALUE
  5892.  
  5893.         Keyboard Macro:         None
  5894.  
  5895.         Command Description:
  5896.  
  5897.              The SET_VARIABLE command has the same format and syntax 
  5898.              as an Ada assignment statement.   It is used to set the 
  5899.              value of an Ada program variable.  The format is
  5900.  
  5901.                   A := SOME_CONSTANT;
  5902.  
  5903.              where:  A  is  an Ada program variable that is  visible 
  5904.                      within the scope of the breakpoint at which the 
  5905.                      assignment is made.
  5906.  
  5907.                      SOME_CONSTANT  is a constant value of the  same 
  5908.                      basic type as A.
  5909.  
  5910.  
  5911.         Examples:
  5912.  
  5913.              1)  >> A := 10; <cr>
  5914.  
  5915.              2)  >> MY_STRING := "A String of Characters"; <cr>
  5916.  
  5917.              3)  >> COLOR_ARRAY(5,3) := INTERMETRICS_BLUE; <cr>
  5918.  
  5919.              4)  >> AUTOMOBILE.MAKE := STUDEBAKER; <cr>
  5920.  
  5921.  
  5922.  
  5923.  
  5924.  
  5925.  
  5926.  
  5927.  
  5928.  
  5929.  
  5930.  
  5931.  
  5932.  
  5933.  
  5934.  
  5935.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  5936.  
  5937.  
  5938.  
  5939.  
  5940.  
  5941.         Ada Symbolic Debugger User's Guide               Page: A - 32
  5942.  
  5943.  
  5944.  
  5945.         
  5946.         ------------------------------------------------------------
  5947.                                             SHOW_BREAKPOINTS Command
  5948.         ------------------------------------------------------------
  5949.         
  5950.  
  5951.         Command Type:           Debug
  5952.  
  5953.         Command Category:       Status
  5954.  
  5955.         Full Ada Format:        SHOW_BREAKPOINTS;
  5956.                                 SHOW_BREAKPOINTS(comp_unit);
  5957.  
  5958.         Minimum Abbreviation:   SHOW_B
  5959.                                 SHOW_B(comp_unit
  5960.  
  5961.         Keyboard Macro:         None
  5962.  
  5963.         Command Description:
  5964.  
  5965.              Displays  breakpoints that have been set to "on" at the 
  5966.              user's  console.   If  no  compilation  unit  name   is 
  5967.              specified then all breakpoints in all compilation units 
  5968.              are displayed.  If a compilation unit name is specified 
  5969.              then only breakpoints in the specified compilation unit 
  5970.              are displayed.
  5971.  
  5972.  
  5973.         Examples:
  5974.  
  5975.              1)  >> SHOW_BREAKPOINTS; <cr>
  5976.  
  5977.                  Will   display   all  active  breakpoints  in   all 
  5978.                  compilation units
  5979.  
  5980.  
  5981.              2)  >> SHOW_BREAKPOINTS(SCHEDULER); <cr>
  5982.  
  5983.                  Will  display all active breakpoints in compilation 
  5984.                  unit SCHEDULER
  5985.  
  5986.  
  5987.              3)  >> SHOW_BREAK(MAILBOX <cr>
  5988.  
  5989.                  Will display all active breakpoints in  compilation 
  5990.                  unit MAILBOX
  5991.  
  5992.  
  5993.              4)  >> SHOW_B <cr>
  5994.  
  5995.                  Will   display  all  active  breakpoints   in   all 
  5996.                  compilation units
  5997.  
  5998.  
  5999.  
  6000.  
  6001.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6002.  
  6003.  
  6004.  
  6005.  
  6006.  
  6007.         Ada Symbolic Debugger User's Guide               Page: A - 33
  6008.  
  6009.  
  6010.  
  6011.         
  6012.         ------------------------------------------------------------
  6013.                                                  SHOW_DEFINE Command
  6014.         ------------------------------------------------------------
  6015.         
  6016.  
  6017.         Command Type:           Debug
  6018.  
  6019.         Command Category:       Special Commands
  6020.  
  6021.         Full Ada Format:        SHOW_DEFINE;
  6022.  
  6023.         Minimum Abbreviation:   SHOW_D
  6024.  
  6025.         Keyboard Macro:         None
  6026.  
  6027.  
  6028.         Command Description:
  6029.  
  6030.              Displays  the  definitions  of  user  defined  keyboard 
  6031.              macros  at the user's console.   Keyboard macros may be 
  6032.              defined by using the DEFINE command.   Only macros that 
  6033.              have been defined are displayed.
  6034.  
  6035.  
  6036.         Example:
  6037.  
  6038.              >> DEFINE( &1, SET_BREAKPOINT( ); <cr>
  6039.              >> DEFINE( &2, LONG_PACKAGE_NAME. ); <cr>
  6040.              >> DEFINE( &3, LONG_PROCEDURE_NAME ); <cr>
  6041.              >> DEFINE( &4, LONG_FUNCTION_NAME ); <cr>
  6042.              >> SHOW_DEFINE;
  6043.                 &1 = SET_BREAKPOINT(
  6044.                 &2 = LONG_PACKAGE_NAME.
  6045.                 &3 = LONG_PROCEDURE_NAME
  6046.                 &4 = LONG_FUNCTION_NAME
  6047.                  >>
  6048.  
  6049.  
  6050.  
  6051.  
  6052.  
  6053.  
  6054.  
  6055.  
  6056.  
  6057.  
  6058.  
  6059.  
  6060.  
  6061.  
  6062.  
  6063.  
  6064.  
  6065.  
  6066.  
  6067.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6068.  
  6069.  
  6070.  
  6071.  
  6072.  
  6073.         Ada Symbolic Debugger User's Guide               Page: A - 34
  6074.  
  6075.  
  6076.  
  6077.         
  6078.         ------------------------------------------------------------
  6079.                                                 SHOW_HISTORY Command
  6080.         ------------------------------------------------------------
  6081.         
  6082.  
  6083.         Command Type:           Debug
  6084.  
  6085.         Command Category:       Status
  6086.  
  6087.         Full Ada Format:        SHOW_HISTORY;
  6088.                                 SHOW_HISTORY(n);
  6089.  
  6090.         Minimum Abbreviation:   SHOW_H
  6091.                                 SHOW_H(n
  6092.  
  6093.                                 where
  6094.                                   n : integer range 1..10 := 1;
  6095.  
  6096.         Keyboard Macro:         None
  6097.  
  6098.         Command Description:
  6099.  
  6100.              Displays the last 10 breakpoints executed at the user's 
  6101.              console. If the parameter "n" is not specified then the 
  6102.              default value is 1.
  6103.  
  6104.  
  6105.         Examples:
  6106.  
  6107.              1)  >> SHOW_HISTORY(5); <cr>
  6108.  
  6109.                  Will show the last 5 breakpoints executed
  6110.  
  6111.  
  6112.              2)  >> SHOW_HISTORY(4) <cr>
  6113.  
  6114.                  Will show the last 4 breakpoints executed
  6115.  
  6116.  
  6117.              3)  >> SHOW_HIST(6 <cr>
  6118.  
  6119.                  Will show the last 6 breakpoints executed
  6120.  
  6121.  
  6122.              4)  >> SHOW_H <cr>
  6123.  
  6124.                  Will show the last breakpoint executed
  6125.  
  6126.  
  6127.  
  6128.  
  6129.  
  6130.  
  6131.  
  6132.  
  6133.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6134.  
  6135.  
  6136.  
  6137.  
  6138.  
  6139.         Ada Symbolic Debugger User's Guide               Page: A - 35
  6140.  
  6141.  
  6142.  
  6143.         
  6144.         ------------------------------------------------------------
  6145.                                                       SILENT Command
  6146.         ------------------------------------------------------------
  6147.         
  6148.  
  6149.         Command Type:           Debug
  6150.  
  6151.         Command Category:       Status
  6152.  
  6153.         Full Ada Format:        SILENT;
  6154.                                 SILENT(BREAK);
  6155.                                 SILENT(STEP);
  6156.  
  6157.         Minimum Abbreviation:   SI
  6158.                                 SI(BREAK
  6159.                                 SI(STEP
  6160.  
  6161.         Keyboard Macro:         None
  6162.  
  6163.         Command Description:
  6164.  
  6165.              Turns off Symbolic Debugger messages at breakpoints and 
  6166.              step points.  Breakpoint messages and step messages are 
  6167.              of the following form:
  6168.  
  6169.              Break at:  PGM_UNIT_NAME  << BKPT_NUMBER >>
  6170.  
  6171.              Step to:   PGM_UNIT_NAME  << BKPT_NUMBER >>
  6172.  
  6173.              The  default  for BREAK messages and STEP  messages  is 
  6174.              "on".   If  messages  are turned "off"  by  the  SILENT 
  6175.              command,  they  may  be turned back "on" by  using  the 
  6176.              ANNOUNCE command.
  6177.  
  6178.  
  6179.  
  6180.         Examples:
  6181.  
  6182.  
  6183.              1)  >> SILENT(STEP); <cr>
  6184.  
  6185.                  Silences STEP messages
  6186.  
  6187.  
  6188.              2)  >> SILENT(BREAK) <cr>
  6189.  
  6190.                  Silences BREAK messages
  6191.  
  6192.  
  6193.              3)  >> SI <cr>
  6194.  
  6195.                  Silences both STEP and BREAK messages
  6196.  
  6197.  
  6198.  
  6199.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6200.  
  6201.  
  6202.  
  6203.  
  6204.  
  6205.         Ada Symbolic Debugger User's Guide               Page: A - 36
  6206.  
  6207.  
  6208.  
  6209.  
  6210.         
  6211.         ------------------------------------------------------------
  6212.                                            SOURCE_INSTRUMENT Command
  6213.         ------------------------------------------------------------
  6214.         
  6215.  
  6216.         Command Type:           Shell
  6217.  
  6218.         Command Category:       Execution Control
  6219.  
  6220.         Format:                 SOURCE_INSTRUMENT;
  6221.                                 SOURCE_INSTRUMENT(INPUT_FILE,
  6222.                                   SOURCE_LISTING_FILE,
  6223.                                   INSTRUMENTED_SOURCE_FILE );
  6224.  
  6225.         Minimum Abbreviation:   SO
  6226.                                 SO(INPUT_FILE,
  6227.                                    SOURCE_LISTING_FILE,
  6228.                                    INSTRUMENTED_SOURCE_FILE
  6229.  
  6230.                         where:  INPUT_FILE is the user's Ada  source 
  6231.                                 file.
  6232.  
  6233.                                 SOURCE_LISTING_FILE   is  a   pretty 
  6234.                                 printed version of the user's source 
  6235.                                 with breakpoints listed.
  6236.  
  6237.                                 INSTRUMENTED_SOURCE_FILE is the file 
  6238.                                 containing the instrumented source.
  6239.  
  6240.         Keyboard Macro:         None
  6241.  
  6242.         Command Description:
  6243.  
  6244.              Instruments  the  user's Ada source program  to  insert 
  6245.              "hooks"  to  the  Symbolic  Debugger.   Only  the  main 
  6246.              program  unit and program units that will  be  debugged 
  6247.              must   be   instrumented.     This   includes   package 
  6248.              specifications  that declare data types or objects that 
  6249.              you  want to be visible to the  debugger.   Compilation 
  6250.              units should be instrumented in compilation order.
  6251.  
  6252.              If  input and output file names are not specified  then 
  6253.              the  user will be prompted by the Source  Instrumenter.  
  6254.              The  source_file  must  always  be  entered.   However, 
  6255.              default  file  names may be used for the  listing  file 
  6256.              (null) and instrumented source file (.INS) by  entering 
  6257.              a carriage return when prompted for their names.
  6258.  
  6259.  
  6260.  
  6261.  
  6262.  
  6263.  
  6264.  
  6265.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6266.  
  6267.  
  6268.  
  6269.  
  6270.  
  6271.         Ada Symbolic Debugger User's Guide               Page: A - 37
  6272.  
  6273.  
  6274.  
  6275.  
  6276.         
  6277.         ------------------------------------------------------------
  6278.                                SOURCE_INSTRUMENT Command (Continued)
  6279.         ------------------------------------------------------------
  6280.         
  6281.  
  6282.         Examples:
  6283.  
  6284.              1) source_instrument(test.ada, test.lis, test.si); <cr>
  6285.  
  6286.                 source_file = TEST.ADA
  6287.                 source_listing = TEST.LIS
  6288.                 instrumented_source = TEST.SI
  6289.  
  6290.  
  6291.  
  6292.              2) source_instrument <cr>
  6293.  
  6294.                 Enter Source_File  => test.ada <cr>
  6295.                 Enter Source_Listing_File => test.lis<cr>
  6296.                 Enter Instrumented_Source_File => test.si<cr>
  6297.  
  6298.                 source_file = TEST.ADA
  6299.                 source_listing = TEST.LIS
  6300.                 instrumented_source = TEST.SI
  6301.  
  6302.  
  6303.              3) so <cr>
  6304.  
  6305.                 Enter Source_File  => test.ada <cr>
  6306.                 Enter Source_Listing_File => <cr>
  6307.                 Enter Instrumented_Source_File => <cr>
  6308.  
  6309.                 source_file = TEST.ADA
  6310.                 source_listing = 
  6311.                 instrumented_source = TEST.INS
  6312.  
  6313.  
  6314.  
  6315.  
  6316.  
  6317.  
  6318.  
  6319.  
  6320.  
  6321.  
  6322.  
  6323.  
  6324.  
  6325.  
  6326.  
  6327.  
  6328.  
  6329.  
  6330.  
  6331.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6332.  
  6333.  
  6334.  
  6335.  
  6336.  
  6337.         Ada Symbolic Debugger User's Guide               Page: A - 38
  6338.  
  6339.  
  6340.  
  6341.         
  6342.         ------------------------------------------------------------
  6343.                                                         STEP Command
  6344.         ------------------------------------------------------------
  6345.         
  6346.  
  6347.         Command Type:           Debug
  6348.  
  6349.         Command Category:       Execution Control
  6350.  
  6351.         Full Ada Format:        STEP;
  6352.                                 STEP(step_count);
  6353.  
  6354.         Minimum Abbreviation:   ST
  6355.                                 ST(step_count
  6356.  
  6357.                                 step_count  =  the number  of  break 
  6358.                                 points to be executed
  6359.  
  6360.         Keyboard Macro:         Enter (Carriage Return)
  6361.  
  6362.         Command Description:
  6363.  
  6364.              Resumes   execution  of  the  suspended   program   for 
  6365.              "step_count"   breakpoints.   If  "step_count"  is  not 
  6366.              specified  then  the  default  value  of  1  is   used. 
  6367.              Execution  will  continue  until  one or  more  of  the 
  6368.              following conditions occurs:
  6369.  
  6370.              1) The STEP count is exhausted.
  6371.  
  6372.              2) An active, or set, breakpoint is encountered.
  6373.  
  6374.              3) Program termination due to an unhandled exception.
  6375.  
  6376.  
  6377.         Examples:
  6378.  
  6379.              1)  >> STEP; <cr>
  6380.  
  6381.                  Will resume execution for 1 breakpoint.
  6382.  
  6383.              2)  >> ST(5) <cr>
  6384.  
  6385.                  Will resume execution for 5 breakpoints
  6386.  
  6387.              3)  >> ST(2 <cr>
  6388.  
  6389.                  Will resume execution for 2 breakpoints
  6390.  
  6391.  
  6392.  
  6393.  
  6394.  
  6395.  
  6396.  
  6397.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6398.  
  6399.  
  6400.  
  6401.  
  6402.  
  6403.         Ada Symbolic Debugger User's Guide               Page: A - 39
  6404.  
  6405.  
  6406.  
  6407.  
  6408.         
  6409.         ------------------------------------------------------------
  6410.                                               SYSTEM_COMMAND Command
  6411.         ------------------------------------------------------------
  6412.         
  6413.  
  6414.         Command Type:           Shell
  6415.  
  6416.         Command Category:       Execution Control
  6417.  
  6418.         Format:                 SYSTEM_COMMAND(COMMAND);
  6419.  
  6420.         Minimum Abbreviation:   SY(COMMAND
  6421.  
  6422.         Keyboard Macro:         None
  6423.  
  6424.         Command Description:
  6425.  
  6426.              Executes  a  system  command or  another  program  from 
  6427.              within the WIS_DEBUG Shell.
  6428.  
  6429.              May  be  used for editing your  source  programs,  file 
  6430.              management, submitting jobs to a batch stream, printing 
  6431.              Source   Instrumenter  listings  for  use  during   the 
  6432.              debugging session, etc.
  6433.  
  6434.              When the spawned process is completed, any changes that 
  6435.              have  been  made to the system's  environment  will  be 
  6436.              restored   to   their  state  prior  to  execution   of 
  6437.              SYSTEM_COMMAND.
  6438.  
  6439.  
  6440.         Examples:
  6441.  
  6442.              1) SYSTEM_COMMAND( DIR/DATE); <cr>
  6443.  
  6444.              2) SYSTEM_COMMAND( EDIT TEST.ADA <cr>
  6445.  
  6446.              3) SY( PRINT TEST.LST <cr>
  6447.  
  6448.  
  6449.  
  6450.  
  6451.  
  6452.  
  6453.  
  6454.  
  6455.  
  6456.  
  6457.  
  6458.  
  6459.  
  6460.  
  6461.  
  6462.  
  6463.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6464.  
  6465.  
  6466.  
  6467.  
  6468.  
  6469.         Ada Symbolic Debugger User's Guide               Page: A - 40
  6470.  
  6471.  
  6472.  
  6473.  
  6474.         
  6475.         ------------------------------------------------------------
  6476.                                                          "?" Command
  6477.         ------------------------------------------------------------
  6478.         
  6479.  
  6480.         Command Type:           Shell
  6481.  
  6482.         Command Category:       Help
  6483.  
  6484.         Format:                 ? 
  6485.  
  6486.         Minimum Abbreviation:   ? 
  6487.  
  6488.         Keyboard Macro:         None
  6489.  
  6490.         Command Description:
  6491.  
  6492.              At  any  time that WIS_DEBUG shell is  at  the  command 
  6493.              level  you  may list the available command  options  by 
  6494.              entering a "?" followed by a carriage return.  Commands 
  6495.              are  displayed in the order that they will normally  be 
  6496.              used.
  6497.  
  6498.  
  6499.         Example:
  6500.  
  6501.  
  6502.         please enter desired option
  6503.         ? <cr>
  6504.  
  6505.         WIS_DEBUG Options are:  
  6506.  
  6507.           Library Management
  6508.             SEt_library(PROGRAM_LIBRARY); --> Set program library
  6509.             Delete(UNIT_NAME);            --> Delete unit from pgm lib
  6510.  
  6511.           Execution Control
  6512.             SOurce_instrument;       --> Instrument Ada source file
  6513.             Compile(SOURCE_FILE);    --> Compile instrumented unit
  6514.             LINk(COMPILATION_UNIT);  --> Link instrumented program
  6515.             Run(COMPILATION_UNIT);   --> Run Debugger with instr pgm
  6516.             QUit;  --> or EXit;      --> Quit WIS_DBUG and Exit
  6517.  
  6518.           SYstem_commands(COMMAND);  --> Execute a system command
  6519.  
  6520.           Help                       --> Help for commands & features
  6521.  
  6522.         please enter desired option
  6523.  
  6524.  
  6525.  
  6526.  
  6527.  
  6528.  
  6529.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6530.  
  6531.  
  6532.  
  6533.  
  6534.  
  6535.         Ada Symbolic Debugger User's Guide               Page: B - 1
  6536.  
  6537.  
  6538.  
  6539.  
  6540.  
  6541.         
  6542.                                  APPENDIX B
  6543.  
  6544.                             DIAGNOSTIC MESSAGES
  6545.         
  6546.  
  6547.  
  6548.         This appendix is organized into three sections:
  6549.  
  6550.              B.1  WIS_DEBUG Shell Diagnostics
  6551.  
  6552.              B.2  Source Instrumenter Diagnostics
  6553.  
  6554.              B.3  Symbolic Debugger Diagnostics
  6555.  
  6556.  
  6557.              All  diagnostic messages generated by WIS_DEBUG are  in 
  6558.         English   and  should,   in  most  situations,   be  readily 
  6559.         understood  without  reference to this  manual,  even  by  a 
  6560.         casual user of the tool.
  6561.  
  6562.              Diagnostic  messages for each section are organized  in 
  6563.         alphabetical order for easy reference. Each message includes
  6564.         an explanation of what may have caused the  diagnostic to be 
  6565.         generated. 
  6566.  
  6567.              Other diagnostics may be generated by your Ada compiler 
  6568.         system,  your  Ada run time system or your operating system.  
  6569.         You  must  refer  to  the  appropriate  documentation   that 
  6570.         accompanies your system for interpretation of these types of 
  6571.         diagnostic messages.
  6572.  
  6573.  
  6574.  
  6575.  
  6576.  
  6577.  
  6578.  
  6579.  
  6580.  
  6581.  
  6582.  
  6583.  
  6584.  
  6585.  
  6586.  
  6587.  
  6588.  
  6589.  
  6590.  
  6591.  
  6592.  
  6593.  
  6594.  
  6595.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6596.  
  6597.  
  6598.  
  6599.  
  6600.  
  6601.         Ada Symbolic Debugger User's Guide              Page: B1 - 1
  6602.  
  6603.  
  6604.  
  6605.  
  6606.  
  6607.         
  6608.         B.1  WIS_DEBUG Shell Diagnostics
  6609.         
  6610.              This section discusses diagnostic messages generated by 
  6611.         the WIS_DEBUG Shell.
  6612.  
  6613.  
  6614.  
  6615.         B.1.1 DEFINE requires an ampersand, digit, comma and value
  6616.  
  6617.               Meaning:  The  DEFINE command was entered incorrectly. 
  6618.                         Either  an argument is missing or the  digit 
  6619.                         specified is not in the range 1..9. 
  6620.                         The syntax is:  DEFINE( &n, value );
  6621.  
  6622.  
  6623.         B.1.2 DELETE requires a parameter, UNIT_NAME
  6624.  
  6625.               Meaning:  The UNIT_NAME to be deleted from the program 
  6626.                         library was not specified. The syntax is:
  6627.                         DELETE(UNIT_NAME);
  6628.  
  6629.  
  6630.         B.1.3 LIBRARY requires a parameter, CURRENT_PROGRAM_LIBRARY
  6631.  
  6632.               Meaning:  The name of the CURRENT_PROGRAM_LIBRARY  was 
  6633.                         not specified for the LIBRARY command.
  6634.  
  6635.  
  6636.         B.1.4 SET_LIBRARY requires a parameter, CURRENT_PROGRAM_LIBRARY
  6637.  
  6638.               Meaning:  The name of the CURRENT_PROGRAM_LIBRARY  was 
  6639.                         not specified for the SET_LIBRARY command.
  6640.  
  6641.  
  6642.         B.1.5 The topic XXXXX is ambiguous. Possibilities are:
  6643.                              :
  6644.                              :
  6645.               Enter"HELP(topic);" for more information
  6646.  
  6647.               Meaning:  The  abbreviation specified for a HELP topic 
  6648.                         matches more than one topic. More characters 
  6649.                         are required.
  6650.  
  6651.  
  6652.  
  6653.  
  6654.  
  6655.  
  6656.  
  6657.  
  6658.  
  6659.  
  6660.  
  6661.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6662.  
  6663.  
  6664.  
  6665.  
  6666.  
  6667.         Ada Symbolic Debugger User's Guide              Page: B1 - 2
  6668.  
  6669.  
  6670.  
  6671.  
  6672.  
  6673.         B.1.6 The topic XXXXX is not found. Topics available are:
  6674.                              :
  6675.                              :
  6676.               Enter"HELP(topic);" for more information
  6677.  
  6678.               Meaning:  No HELP information is found in WISDEBUG.HLP 
  6679.                         or  SYMDEBUG.HLP  for the  specified  topic. 
  6680.                         Refer  to  Appendix  F  for  information  on 
  6681.                         adding new help topics.
  6682.  
  6683.  
  6684.         B.1.7 unrecognized command
  6685.  
  6686.               Meaning:  The command entered at the command prompt is  
  6687.                         not recognized. Check your spelling and make  
  6688.                         sure you have not used less than the minimum  
  6689.                         abbreviation for the command.
  6690.  
  6691.  
  6692.  
  6693.  
  6694.  
  6695.  
  6696.  
  6697.  
  6698.  
  6699.  
  6700.  
  6701.  
  6702.  
  6703.  
  6704.  
  6705.  
  6706.  
  6707.  
  6708.  
  6709.  
  6710.  
  6711.  
  6712.  
  6713.  
  6714.  
  6715.  
  6716.  
  6717.  
  6718.  
  6719.  
  6720.  
  6721.  
  6722.  
  6723.  
  6724.  
  6725.  
  6726.  
  6727.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6728.  
  6729.  
  6730.  
  6731.  
  6732.  
  6733.         Ada Symbolic Debugger User's Guide              Page: B2 - 1
  6734.  
  6735.  
  6736.  
  6737.         
  6738.         B.2  Source Instrumenter Diagnostics
  6739.         
  6740.              This section discusses diagnostic messages generated by 
  6741.         the Source Instrumenter.
  6742.  
  6743.  
  6744.         B.2.1 ERROR: Invalid compilation unit name.
  6745.  
  6746.               Meaning:  The  name of the compilation unit is  not  a 
  6747.                         legal Ada name (i.e.,  it contains a special 
  6748.                         character,  has two or more underscores in a 
  6749.                         row,  an  underscore at the end of the name, 
  6750.                         etc.).    Refer   to   your   Ada   Language 
  6751.                         Specification for legal Ada compilation unit 
  6752.                         names.
  6753.  
  6754.  
  6755.         B.2.2 ERROR:  Invalid instrumented source file name.
  6756.  
  6757.               Meaning:  The  filename specified for the instrumented 
  6758.                         source file is not a valid  filename.  Check 
  6759.                         your  spelling and be sure that the filename 
  6760.                         conforms to file naming conventions for your 
  6761.                         system.
  6762.  
  6763.  
  6764.         B.2.3 ERROR:  Invalid listing file name.
  6765.  
  6766.               Meaning:  The  filename specified for the listing file 
  6767.                         is not a valid filename. Check your spelling 
  6768.                         and  be sure that the filename  conforms  to 
  6769.                         file naming conventions for your system.
  6770.  
  6771.  
  6772.         B.2.4 ERROR: Source file has invalid name or does not exist.
  6773.  
  6774.               Meaning:  The  filename  specified for the Ada  source 
  6775.                         file  to  be instrumented cannot  be  found.  
  6776.                         The  file  must be located in  your  current 
  6777.                         default  working  directory.    Check   your 
  6778.                         spelling  and  be  sure  that  the  filename 
  6779.                         conforms to file naming conventions for your 
  6780.                         system.
  6781.  
  6782.  
  6783.         B.2.5 Syntax Error in Source: Line: LL Column: CC
  6784.  
  6785.               Meaning:  The  Ada  source  file  being   instrumented 
  6786.                         contains  a  syntax  error on line  "LL"  in 
  6787.                         column   "CC".   The   Source   Instrumenter 
  6788.                         requires   that   the   program   you    are 
  6789.                         instrumenting   is  syntactically   correct. 
  6790.                         Correct the syntax error and reinstrument.
  6791.  
  6792.  
  6793.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6794.  
  6795.  
  6796.  
  6797.  
  6798.  
  6799.         Ada Symbolic Debugger User's Guide              Page: B3 - 1
  6800.  
  6801.  
  6802.  
  6803.  
  6804.         
  6805.         B.3  Symbolic Debugger Diagnostics
  6806.         
  6807.              This section discusses all diagnostic messages that are 
  6808.         generated by the Symbolic Debugger.
  6809.  
  6810.              When  an  error  occurs  in  setting  or  displaying  a 
  6811.         variable,  further  processing  of  the current  command  is 
  6812.         abandoned  and  an error message  is  displayed.   The  user 
  6813.         request is shown,  and arrows point to the current positions 
  6814.         in the variable name and/or the new value input string where 
  6815.         processing stopped.
  6816.  
  6817.  
  6818.              --------------------------------------------------
  6819.              EXAMPLES: 
  6820.              --------------------------------------------------
  6821.  
  6822.              1)  >> x := 27
  6823.                  X := 27
  6824.                  ^    ^
  6825.                  Variable not found
  6826.  
  6827.                  Interpretation:  The variable X is either does 
  6828.                  not exist or is not visible within the current 
  6829.                  scope.
  6830.  
  6831.  
  6832.              2)  >> MY_CAR.LENGTH := 88;
  6833.                  MY_CAR.LENGTH := 88
  6834.                         ^         ^
  6835.                  Variable not found
  6836.  
  6837.                  Interpretation:  The variable MY_CAR has  been 
  6838.                  located.  However,  it  is either not a record 
  6839.                  type or LENGTH is not a valid component of the 
  6840.                  record.
  6841.  
  6842.  
  6843.              3)  >> MY_CAR.COLOR := PINK;
  6844.                  MY_CAR.COLOR := PINK
  6845.                              ^   ^
  6846.                  PINK not recognized as an enumeration value
  6847.  
  6848.                  Interpretation:  The variable MY_CAR has  been 
  6849.                  located  and  it is a record with a  component 
  6850.                  COLOR  which is an enumeration  type.  However 
  6851.                  the  value  PINK is not  a  valid  enumeration 
  6852.                  value for the enumeration type.
  6853.  
  6854.              --------------------------------------------------
  6855.  
  6856.  
  6857.  
  6858.  
  6859.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6860.  
  6861.  
  6862.  
  6863.  
  6864.  
  6865.         Ada Symbolic Debugger User's Guide              Page: B3 - 2
  6866.  
  6867.  
  6868.  
  6869.  
  6870.  
  6871.         B.3.1  Access values cannot be set                                   
  6872.  
  6873.                Meaning:  An   access   value  cannot   be   changed.  
  6874.                          However,  an object designated by an access 
  6875.                          value can be set and displayed according to 
  6876.                          the rules for its type.
  6877.  
  6878.  
  6879.         B.3.2  Character literal not found in input string
  6880.  
  6881.                Meaning:  A  non character value was specified for  a 
  6882.                          variable of type CHARACTER.
  6883.  
  6884.  
  6885.         B.3.3  Constants or IN parameters cannot be set
  6886.  
  6887.                Meaning:  The  variable name specified is a  constant 
  6888.                          or  a formal IN parameter for a subprogram.  
  6889.                          Constants   or  IN  parameters  cannot   be 
  6890.                          modified.
  6891.  
  6892.  
  6893.         B.3.4  Constraint_Error raised
  6894.  
  6895.                Meaning:  The    attempted   assignment   caused    a 
  6896.                          constraint error to be raised.  Either  the 
  6897.                          new  value is out of range,  or TEXT_IO.GET 
  6898.                          could  not interpret the next value in  the 
  6899.                          new value input string correctly.
  6900.  
  6901.  
  6902.         B.3.5  Discriminants may not be set
  6903.  
  6904.                Meaning:  Record  discriminants  cannot  be  changed, 
  6905.                          even in a whole record assignment.
  6906.  
  6907.  
  6908.         B.3.6  Enumeration value out of range
  6909.  
  6910.                Meaning:  An  enumeration type variable  is  probably 
  6911.                          uninitialized  at  the  time of  a  put_var 
  6912.                          request.
  6913.  
  6914.  
  6915.         B.3.7  Extra or remaining input ignored
  6916.  
  6917.                Meaning:  There were values left in the variable name 
  6918.                          and/or  the  new value  input  string  when 
  6919.                          processing    the   current   command   was 
  6920.                          completed.
  6921.  
  6922.  
  6923.  
  6924.  
  6925.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6926.  
  6927.  
  6928.  
  6929.  
  6930.  
  6931.         Ada Symbolic Debugger User's Guide              Page: B3 - 3
  6932.  
  6933.  
  6934.  
  6935.  
  6936.  
  6937.         B.3.8  FILE NOT FOUND
  6938.  
  6939.                Meaning:  The  file  name specified to be used  as  a 
  6940.                          canned  input command file (CANFILE) either 
  6941.                          does  not  exist  in  the  current  working 
  6942.                          directory or is an invalid file name. Check 
  6943.                          your  spelling.   If the CANFILE is not  in 
  6944.                          your current working directory then a  full 
  6945.                          path name for the file may be required.
  6946.  
  6947.  
  6948.         B.3.9  File SYMDEBUG.LOG already exists!
  6949.                Enter a new log file name or RETURN to overwrite
  6950.  
  6951.                Meaning:  The file name specified to be used as a log 
  6952.                          file already exists. You may enter overwite 
  6953.                          the  existing file by entering a  carraiage 
  6954.                          return or enter a new file name.
  6955.  
  6956.  
  6957.         B.3.10 Fixed point value not found in input string
  6958.  
  6959.                Meaning:  A non fixed point value was specified for a 
  6960.                          fixed point variable. 
  6961.  
  6962.  
  6963.         B.3.11 Floating point value not found in input string
  6964.  
  6965.                Meaning:  A  non floating point value  was  specified 
  6966.                          for a variable of type FLOAT.
  6967.  
  6968.  
  6969.         B.3.12 Integer value not found in input string
  6970.  
  6971.                Meaning:  A  non  integer value was specified  for  a 
  6972.                          variable of type INTEGER.
  6973.  
  6974.  
  6975.         B.3.13 Invalid array index
  6976.                Missing '('
  6977.                ')' expected next
  6978.  
  6979.                Meaning:  Invalid   syntax  was  found  when  tracing 
  6980.                          indexed components.
  6981.  
  6982.  
  6983.         B.3.14 Invalid index expression
  6984.  
  6985.                Meaning:  The array or slice index was not recognized.
  6986.  
  6987.  
  6988.  
  6989.  
  6990.  
  6991.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  6992.  
  6993.  
  6994.  
  6995.  
  6996.  
  6997.         Ada Symbolic Debugger User's Guide              Page: B3 - 4
  6998.  
  6999.  
  7000.  
  7001.  
  7002.  
  7003.         B.3.15 Invalid index or lower bound
  7004.  
  7005.                Meaning:  The  array  index or the lower bound  of  a 
  7006.                          slice was not recognized.
  7007.  
  7008.  
  7009.         B.3.16 Invalid record specification
  7010.  
  7011.                Meaning:  Invalid  syntax  was found when  tracing  a 
  7012.                          record type variable.
  7013.  
  7014.  
  7015.         B.3.17 Invalid upper bound
  7016.  
  7017.                Meaning:  The   upper  bound  of  a  slice  was   not 
  7018.                          recognized.   Note that all array  elements 
  7019.                          from the lower bound through the end of the 
  7020.                          array will have been displayed before it is 
  7021.                          known   that   the  upper  bound  was   not 
  7022.                          recognized.
  7023.  
  7024.  
  7025.         B.3.18 Invalid upper bound. 
  7026.                Some elements may have been changed.
  7027.  
  7028.                Meaning:  The   upper  bound  of  a  slice  was   not 
  7029.                          recognized.   Note that all array  elements 
  7030.                          from the lower bound through the end of the 
  7031.                          array will have been set before it is known 
  7032.                          that  the  upper bound was not  recognized, 
  7033.                          assuming no other errors occurred.
  7034.  
  7035.  
  7036.         B.3.19 Loop parameters cannot be set
  7037.  
  7038.                Meaning:  The  variable  name  specified  is  a  loop 
  7039.                          variable.    Loop   variables   cannot   be 
  7040.                          modified.
  7041.  
  7042.  
  7043.         B.3.20 NAME AND OR NUMBER MUST BE SPECIFIED
  7044.  
  7045.                Meaning:  Neither a unit name nor a breakpoint number 
  7046.                          was specified for a SET_BREAKPOINT command.  
  7047.                          Allowable formats are:
  7048.                          SET_BREAKPOINT(BREAKPOINT);
  7049.                          SET_BREAKPOINT(COMPILATION_UNIT, BREAKPOINT);
  7050.                          SET_BREAKPOINT(PROGRAM_UNIT);
  7051.  
  7052.  
  7053.  
  7054.  
  7055.  
  7056.  
  7057.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7058.  
  7059.  
  7060.  
  7061.  
  7062.  
  7063.         Ada Symbolic Debugger User's Guide              Page: B3 - 5
  7064.  
  7065.  
  7066.  
  7067.  
  7068.  
  7069.         B.3.21 <user_input_value>  not recognized as an  enumeration 
  7070.                value
  7071.  
  7072.                Meaning:  The variable name specified was located and 
  7073.                          is an enumeration type. The value specified 
  7074.                          is  not a valid enumeration value  for  the 
  7075.                          type.
  7076.  
  7077.  
  7078.         B.3.22 Null array slice or invalid lower bound
  7079.  
  7080.                Meaning:  The  upper bound of a slice was  recognized 
  7081.                          before the lower bound was recognized.
  7082.  
  7083.  
  7084.         B.3.23 Null record
  7085.  
  7086.                Meaning:  The  record type variable to set or put has 
  7087.                          no fields.
  7088.  
  7089.  
  7090.         B.3.24 Numeric value not found in input string
  7091.  
  7092.                Meaning:  Attempted to assign a non-numeric value  to 
  7093.                          a numeric type.
  7094.  
  7095.  
  7096.         B.3.25 OUT parameters cannot be displayed
  7097.  
  7098.                Meaning:  The  variable name specified is an OUT mode 
  7099.                          parameter in a subprogram. Formal  OUT mode 
  7100.                          parameters may not be displayed.
  7101.  
  7102.  
  7103.         B.3.26 Program library catalog not found!
  7104.                Enter a new program library name or RETURN to continue
  7105.  
  7106.                Meaning:  The   WIS_DEBUG  program  library   catalog 
  7107.                          cannot  be  found in the specified  Program 
  7108.                          Library.   Either the program library  name 
  7109.                          has  not  been  entered  correctly  or  the 
  7110.                          catalog  file PKGFILES.CAT has been deleted 
  7111.                          from the Program Library.  If you  continue 
  7112.                          without  specifying  a new Program  Library 
  7113.                          name then the Symbolic Debugger will not be 
  7114.                          able to display your listing files for  you 
  7115.                          in SCREEN mode.
  7116.  
  7117.  
  7118.  
  7119.  
  7120.  
  7121.  
  7122.  
  7123.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7124.  
  7125.  
  7126.  
  7127.  
  7128.  
  7129.         Ada Symbolic Debugger User's Guide              Page: B3 - 6
  7130.  
  7131.  
  7132.  
  7133.  
  7134.  
  7135.         B.3.27 SET_LIBRARY requires a parameter, 
  7136.                CURRENT_PROGRAM_LIBRARY
  7137.  
  7138.                Meaning:  The name of the CURRENT_PROGRAM_LIBRARY was 
  7139.                          not specified for the SET_LIBRARY command.
  7140.  
  7141.  
  7142.         B.3.28 SET_OUTPUT requires Number_Of_Lines
  7143.  
  7144.                Meaning:  The argument Number_Of_Lines is required to 
  7145.                          specify  the  size  of the  OUTPUT  display 
  7146.                          region when in SCREEN mode.
  7147.  
  7148.  
  7149.         B.3.29 SET_SOURCE requires Number_Of_Lines
  7150.  
  7151.                Meaning:  The argument Number_Of_Lines is required to 
  7152.                          specify  the  size of  the  SOURCE  display 
  7153.                          region when in SCREEN mode.
  7154.  
  7155.  
  7156.         B.3.30 Setting OUT parameters of user defined types is
  7157.                unimplemented
  7158.  
  7159.                Meaning:  Only  OUT mode parameters of the  following 
  7160.                          types may be modified;
  7161.  
  7162.                             FLOAT     LONG_FLOAT    SHORT_FLOAT
  7163.                             INTEGER   LONG_INTEGER  SHORT_INTEGER 
  7164.                             NATURAL   POSITIVE 
  7165.                             CHARACTER STRING 
  7166.                             BOOLEAN 
  7167.  
  7168.  
  7169.         B.3.31 Terminal type is not currently supported
  7170.  
  7171.                Meaning:  An  unsupported terminal type was specified 
  7172.                          for   the  SCREEN  command.    Check   your 
  7173.                          spelling  and  use  the  HELP  command   to 
  7174.                          determine    what   terminal   types    are 
  7175.                          supported.   Refer   to   Appendix  E   for 
  7176.                          information  about adding support  for  new 
  7177.                          screen type terminals.
  7178.  
  7179.  
  7180.  
  7181.  
  7182.  
  7183.  
  7184.  
  7185.  
  7186.  
  7187.  
  7188.  
  7189.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7190.  
  7191.  
  7192.  
  7193.  
  7194.  
  7195.         Ada Symbolic Debugger User's Guide              Page: B3 - 7
  7196.  
  7197.  
  7198.  
  7199.  
  7200.  
  7201.         B.3.32 The topic XXXXX is ambiguous. Possibilities are:
  7202.                              :
  7203.                              :
  7204.                Enter"HELP(topic);" for more information
  7205.  
  7206.                Meaning:  The abbreviation specified for a HELP topic 
  7207.                          matches   more   than   one   topic.   More 
  7208.                          characters are required.
  7209.  
  7210.  
  7211.         B.3.33 The topic XXXXX is not found. Topics available are:
  7212.                              :
  7213.                              :
  7214.                Enter"HELP(topic);" for more information
  7215.  
  7216.                Meaning:  No  HELP information is found in  the  file 
  7217.                          SYMDEBUG.HLP for the specified topic. Refer 
  7218.                          to Appendix F for information on adding new 
  7219.                          help topics.
  7220.  
  7221.  
  7222.         B.3.34 Unit name not found in library
  7223.  
  7224.                Meaning:  The  compilation unit name specified cannot 
  7225.                          be  found in the Current  Program  Library.  
  7226.                          Be  sure  your  program  library  has  been 
  7227.                          correctly set during initialization or with 
  7228.                          the SET_LIBRARY command.
  7229.  
  7230.  
  7231.         B.3.35 Unexpected end of input
  7232.  
  7233.                Meaning:  There  were no more values left in the  new 
  7234.                          value input string.
  7235.  
  7236.  
  7237.         B.3.36 unrecognized command
  7238.  
  7239.                Meaning:  The  command entered at the command  prompt 
  7240.                          is  not recognized.  Check your spelling or 
  7241.                          use the HELP command for information  about 
  7242.                          debugger commands.
  7243.  
  7244.  
  7245.         B.3.37 Variable cannot be set or displayed
  7246.  
  7247.                Meaning:  The  variable  is a task type,  private  or 
  7248.                          limited privated type.  It cannot be set or 
  7249.                          displayed.
  7250.  
  7251.  
  7252.  
  7253.  
  7254.  
  7255.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7256.  
  7257.  
  7258.  
  7259.  
  7260.  
  7261.         Ada Symbolic Debugger User's Guide              Page: B3 - 8
  7262.  
  7263.  
  7264.  
  7265.  
  7266.  
  7267.         B.3.38 Variable not found
  7268.  
  7269.                Meaning:  The variable is not directly visible in the 
  7270.                          specified  scope,  or in the scope  of  the 
  7271.                          current breakpoint.
  7272.  
  7273.  
  7274.         B.3.39 0 BREAKPOINTS SET
  7275.  
  7276.                Meaning:  No  breakpoints  were set after  using  the 
  7277.                          SET_BREAKPOINT   command.    The  specified 
  7278.                          program  unit  was not  found.  Check  your 
  7279.                          spelling   and   review   the   rules   for 
  7280.                          specifying  program  unit  names  for   the 
  7281.                          SET_BREAKPOINT command.
  7282.  
  7283.  
  7284.  
  7285.  
  7286.  
  7287.  
  7288.  
  7289.  
  7290.  
  7291.  
  7292.  
  7293.  
  7294.  
  7295.  
  7296.  
  7297.  
  7298.  
  7299.  
  7300.  
  7301.  
  7302.  
  7303.  
  7304.  
  7305.  
  7306.  
  7307.  
  7308.  
  7309.  
  7310.  
  7311.  
  7312.  
  7313.  
  7314.  
  7315.  
  7316.  
  7317.  
  7318.  
  7319.  
  7320.  
  7321.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7322.  
  7323.  
  7324.  
  7325.  
  7326.  
  7327.         Ada Symbolic Debugger User's Guide               Page: C - 1
  7328.  
  7329.  
  7330.  
  7331.  
  7332.  
  7333.         
  7334.                                  APPENDIX C 
  7335.  
  7336.  
  7337.                        SPECIFIC WIS_DEBUG LIMITATIONS
  7338.         
  7339.  
  7340.  
  7341.              This  appendix identifies all known limitations of  the 
  7342.         Ada  Symbolic Debugger,  WIS_DEBUG.   Limitations fall  into 
  7343.         three categories.
  7344.  
  7345.              1.  Restrictions due to Ada Language constraints.
  7346.  
  7347.              2.  Limitations  intentionally  imposed to  reduce  the 
  7348.                  amount  of  instrumentation  added  to  the  user's 
  7349.                  source program.
  7350.  
  7351.              3.  Other limitations and unimplemented features.
  7352.  
  7353.  
  7354.  
  7355.  
  7356.  
  7357.  
  7358.  
  7359.  
  7360.  
  7361.  
  7362.  
  7363.  
  7364.  
  7365.  
  7366.  
  7367.  
  7368.  
  7369.  
  7370.  
  7371.  
  7372.  
  7373.  
  7374.  
  7375.  
  7376.  
  7377.  
  7378.  
  7379.  
  7380.  
  7381.  
  7382.  
  7383.  
  7384.  
  7385.  
  7386.  
  7387.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7388.  
  7389.  
  7390.  
  7391.  
  7392.  
  7393.         Ada Symbolic Debugger User's Guide               Page: C - 2
  7394.  
  7395.  
  7396.  
  7397.  
  7398.         
  7399.         C.1  Restrictions Due to Ada Language Constraints
  7400.         
  7401.              1.  Constants,  loop parameters, and IN mode parameters 
  7402.                  may be examined but they may not be set.
  7403.  
  7404.              2.  OUT  mode parameters in subprograms may be set  but 
  7405.                  they may not be examined.
  7406.  
  7407.              3.  Variables  may  only be assigned values within  the 
  7408.                  legal range constraints for the declared type.
  7409.  
  7410.              4.  Private  types  and limited private types are  only 
  7411.                  traceable (visible) within the body of the  package 
  7412.                  in  which they are declared,  even if the  variable 
  7413.                  whose  type  is  private is  declared  outside  the 
  7414.                  package. 
  7415.  
  7416.              5.  Variables of type TASK cannot be set or displayed.
  7417.  
  7418.  
  7419.         
  7420.         C.2  Limitations Imposed to Reduce Instrumentation
  7421.         
  7422.  
  7423.              1.  Real values are limited to 80 characters.
  7424.  
  7425.              2.  All  named numbers are displayed as floating  point 
  7426.                  values, even if their type is universal_integer.
  7427.  
  7428.              3.  No  form of named associations are implemented  for 
  7429.                  the PUT_VARIABLE and SET_VARIABLE commands.
  7430.  
  7431.  
  7432.         
  7433.         C.3  Other Limitations
  7434.         
  7435.  
  7436.              1.  The main program unit must be instrumented.
  7437.  
  7438.              2.  The  main program unit may not contain a task.   If 
  7439.                  your  main  program unit declares a task  then  you 
  7440.                  must instrument,  compile,  and link a driver  that 
  7441.                  calls  your  program.  A typical driver would  look 
  7442.                  something like the following:
  7443.  
  7444.                      with MY_PROGRAM;
  7445.                      procedure MY_DRIVER is
  7446.                      begin
  7447.                        MY_PROGRAM;
  7448.                      end MY_DRIVER;
  7449.  
  7450.  
  7451.  
  7452.  
  7453.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7454.  
  7455.  
  7456.  
  7457.  
  7458.  
  7459.         Ada Symbolic Debugger User's Guide               Page: C - 3
  7460.  
  7461.  
  7462.  
  7463.  
  7464.              3.  Only  program units that have been instrumented  by 
  7465.                  the source instrumenter are visible to the Symbolic 
  7466.                  Debugger.
  7467.  
  7468.              4.  Regardless  of  whether  or not  the  Ada  compiler 
  7469.                  system being used for program development  provides 
  7470.                  an  interface  to programming languages other  than 
  7471.                  Ada, only Ada program units may be instrumented.
  7472.  
  7473.              5.  The  Symbolic Debugger imposes a certain amount  of 
  7474.                  overhead on the execution time of each instrumented 
  7475.                  Ada  program  unit.  This overhead will  vary  from 
  7476.                  system to system. Therfore, an instrumented program 
  7477.                  will   execute   slower  than  the   same   program 
  7478.                  uninstrumented.   In  a tasking environment if  the 
  7479.                  execution  of some program units is time  dependent 
  7480.                  then   the  additional  overhead  imposed  by   the 
  7481.                  Symbolic  Debugger  may alter the  normal  flow  of 
  7482.                  control of the program.
  7483.  
  7484.              6.  Variables can only be set to literal values ( i.e., 
  7485.                  values that TEXT_IO can extract from a string.
  7486.  
  7487.              7.  When  assigning objects with  multiple  components, 
  7488.                  each component is assigned strictly in the order it 
  7489.                  is  encountered.   The  assignment request  is  not 
  7490.                  evaluated entirely until the assignment is has been 
  7491.                  completed.   If  an error occurs,  everything up to 
  7492.                  that point will have been already assigned.
  7493.  
  7494.              8.  Record  discriminants  can not be set,  even  in  a 
  7495.                  whole record assignment.
  7496.  
  7497.              9.  Only the following types of OUT mode parameters can 
  7498.                  be set:
  7499.  
  7500.                         INTEGER    LONG_INTEGER    SHORT_INTEGER
  7501.                         FLOAT      LONG_FLOAT      SHORT_FLOAT
  7502.                         NATURAL    POSITIVE
  7503.                         CHARACTER  STRING
  7504.                         BOOLEAN
  7505.  
  7506.             10.  Renaming is not implemented.
  7507.  
  7508.             11.  Variables of type ACCESS cannot be set.
  7509.  
  7510.             12.  Context clauses for subprogram declarations are not 
  7511.                  saved.    Therefore,   if   the  subprogram   needs 
  7512.                  instrumented information for these units, they must 
  7513.                  be  given  (again)  in the context clause  for  the 
  7514.                  subprogram body.
  7515.  
  7516.  
  7517.  
  7518.  
  7519.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7520.  
  7521.  
  7522.  
  7523.  
  7524.  
  7525.         Ada Symbolic Debugger User's Guide               Page: C - 4
  7526.  
  7527.  
  7528.  
  7529.  
  7530.             13.  Generic objects are not traced.
  7531.  
  7532.             14.  Generic  program  units  must be  traced  by  their 
  7533.                  generic names, not their instantiated names.
  7534.  
  7535.             15.  Objects of task types must be traced by the name of 
  7536.                  the  type  and not the name  of  the  object.   For 
  7537.                  example,  if TT is a task type and A,  B, and C are 
  7538.                  all  task  objects of type TT,  then references  to 
  7539.                  tasks A,  B,  and C must use the program unit  name 
  7540.                  TT.   WIS_DEBUG  will  automatically assign a  task 
  7541.                  type  activation  number to each object of  a  task 
  7542.                  type in the order that it is activated.
  7543.  
  7544.             16.  Limitations  on the size of the user's program  may 
  7545.                  or  may not exist depending the system being  used, 
  7546.                  the  amount of memory available,  and  whether  the 
  7547.                  system utilizes a virtual memory management scheme.  
  7548.                  Source  instrumentation can cause the  instrumented 
  7549.                  program  to  become  very  large.   The  amount  of 
  7550.                  instrumentation inserted into the user's program is 
  7551.                  a  function  of many factors such as the number  of 
  7552.                  type declarations,  the number of objects declared, 
  7553.                  and  the number of program units.   In  general,  a 
  7554.                  large program with relatively few subprograms, type 
  7555.                  declarations,  and variables will result in only  a 
  7556.                  small   percentage   increase   in  size   due   to 
  7557.                  instrumentation.  In contrast, a very small program 
  7558.                  with  many  small  subprograms and  many  type  and 
  7559.                  object  declarations may increase several times  in 
  7560.                  size. 
  7561.  
  7562.  
  7563.  
  7564.  
  7565.  
  7566.  
  7567.  
  7568.  
  7569.  
  7570.  
  7571.  
  7572.  
  7573.  
  7574.  
  7575.  
  7576.  
  7577.  
  7578.  
  7579.  
  7580.  
  7581.  
  7582.  
  7583.  
  7584.  
  7585.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7586.  
  7587.  
  7588.  
  7589.  
  7590.  
  7591.         Ada Symbolic Debugger User's Guide               Page: D - 1
  7592.  
  7593.  
  7594.  
  7595.  
  7596.         
  7597.                                  APPENDIX D
  7598.  
  7599.  
  7600.                            REHOSTING INFORMATION
  7601.         
  7602.  
  7603.  
  7604.              WIS_DEBUG  is implemented entirely in Ada and has  been 
  7605.         designed  to be highly portable.   Compiler independence has 
  7606.         been  achieved through the use of a Source  Instrumenter  to 
  7607.         provide  symbolic  information  to to the debugger  that  is 
  7608.         traditionally  obtained  from  external  symbol   structures 
  7609.         generated by the compiler.
  7610.  
  7611.              Portability  has been achieved by isolating unavoidable 
  7612.         system  dependencies to a small number of packages that  can 
  7613.         easily be reconfigured for new targets.
  7614.  
  7615.              This appendix identifies all known compiler and  system 
  7616.         dependencies and provides information that will be needed if 
  7617.         the  tool  is rehosted for use with other Ada compilers  and 
  7618.         systems.
  7619.  
  7620.  
  7621.  
  7622.  
  7623.  
  7624.  
  7625.  
  7626.  
  7627.  
  7628.  
  7629.  
  7630.  
  7631.  
  7632.  
  7633.  
  7634.  
  7635.  
  7636.  
  7637.  
  7638.  
  7639.  
  7640.  
  7641.  
  7642.  
  7643.  
  7644.  
  7645.  
  7646.  
  7647.  
  7648.  
  7649.  
  7650.  
  7651.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7652.  
  7653.  
  7654.  
  7655.  
  7656.  
  7657.         Ada Symbolic Debugger User's Guide               Page: D - 2
  7658.  
  7659.  
  7660.  
  7661.  
  7662.              All  known  system dependencies have been  isolated  to 
  7663.         three  packages and a procedure.   Rehosting or  retargeting 
  7664.         the  Symbolic Debugger should involve changes to only  these 
  7665.         compilation units:  SYSDEP,  SYSDEP2, SYSTEM_PARAMETERS, and  
  7666.         CONVERT_ADDRESS_TO_STRING.   The following sections describe 
  7667.         dependencies contained in these units.
  7668.  
  7669.  
  7670.  
  7671.         SYSDEP
  7672.  
  7673.              The SYSDEP package contains system dependent procedures 
  7674.         and  type definitions.   There are three types of procedures 
  7675.         contained  in  SYSDEP:    procedures  used  by  the  Virtual 
  7676.         Terminal  package,  a  procedure used  by  the  parser,  and 
  7677.         procedures used by the WIS_DEBUG shell. 
  7678.  
  7679.              The  Virtual  Terminal procedures provide an  interface 
  7680.         between the Virtual Terminal and the actual terminal.  These 
  7681.         procedures perform the system calls necesary to write to and 
  7682.         read  from  a  terminal.   When  the  Symbolic  Debugger  is 
  7683.         rehosted to a new machine,  procedure bodies will need to be 
  7684.         put in the SYSDEP package body.
  7685.  
  7686.              The  procedure  used by the parser is used  to  perform 
  7687.         processing  of tab characters.  It is dependent on how  tabs 
  7688.         are  handled  in  the new host machine.   A  body  for  this 
  7689.         procedure  also needs to be provided in the  SYSDEP  package 
  7690.         body.
  7691.  
  7692.              The procedures used by the WIS_DEBUG shell are used  to 
  7693.         perform system commands such as compile,  link, and run.  If 
  7694.         system commands cannot be performed from Ada on the new host 
  7695.         machine  then  the package bodies for these procedures  need 
  7696.         only  contain a message that the particular function is  not 
  7697.         supported.
  7698.  
  7699.              The  type definitions contained in SYSDEP define  those 
  7700.         data  types that are optional in Ada but that  the  Symbolic 
  7701.         Debugger    assumes   exist.     In   Ada,    SHORT_INTEGER, 
  7702.         LONG_INTEGER,  SHORT_FLOAT, and LONG_FLOAT are optional.  If 
  7703.         any  of  these types are not defined in the  target  system, 
  7704.         then they should be defined in SYSDEP.   For example, in DEC 
  7705.         Ada  LONG_INTEGER and SHORT_FLOAT are not provided.   So  in 
  7706.         the  Dec  Ada  version  of  the  Symbolic  Debugger,  SYSDEP 
  7707.         contains definitions for these two types.
  7708.  
  7709.  
  7710.  
  7711.  
  7712.  
  7713.  
  7714.  
  7715.  
  7716.  
  7717.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7718.  
  7719.  
  7720.  
  7721.  
  7722.  
  7723.         Ada Symbolic Debugger User's Guide               Page: D - 3
  7724.  
  7725.  
  7726.  
  7727.  
  7728.         SYSDEP2
  7729.  
  7730.              SYSDEP2 contains two additional procedures used by  the 
  7731.         Virtual Terminal package.   These procedures are SETTERMINFO 
  7732.         and  RESETTERMINFO,  and  are written in DEC  Macro.   These 
  7733.         procedures  are  in their own package since DEC  Ada  allows 
  7734.         assembly  procedures to be entered into the program  library 
  7735.         only  as  the  body for a  compilation  unit.   The  package 
  7736.         specification  for  SYSDEP2  is a normal  Ada  package  that 
  7737.         defines  the two procedures.   The Macro routines  are  then 
  7738.         entered into the program library as the pacakge body.
  7739.  
  7740.  
  7741.         SYSTEM_PARAMETERS
  7742.  
  7743.              The  SYSTEM_PARAMETERS package contains declartions  of 
  7744.         system dependent items, and declarations of items that allow 
  7745.         users  to tailor the tool to meet their needs.   The  system 
  7746.         dependent items mainly concern file names.  They include the 
  7747.         limit on the length of filenames,  and the default names and 
  7748.         extensions for files that the Symbolic Debugger creates.
  7749.  
  7750.              The items for tailoring provide some options for pretty 
  7751.         printing,  such  as  number  of spaces for  indentation  and 
  7752.         whether the extended or basic character set it used.
  7753.  
  7754.  
  7755.         CONVERT_ADDRESS_TO_STRING
  7756.  
  7757.              CONVERT_ADDRESS_TO_STRING  is  a procedure  which  uses 
  7758.         unchecked type conversion to display an address.   This  may 
  7759.         need to be tailored to each particular system.   It needs to 
  7760.         be  defined,  but  it  is up to the user to  decide  how  to 
  7761.         display  addresses.   If  you  do not wish the  debugger  to 
  7762.         display addresses,  then this procedure can can be  modified 
  7763.         to display a message that addresses can not be displayed.
  7764.  
  7765.  
  7766.  
  7767.         MISCELLANEOUS NOTES
  7768.  
  7769.  
  7770.         1.  Naming Conventions
  7771.  
  7772.             Instrumenting  adds procedures and variables to the user 
  7773.             source.   To  avoid naming conflicts,  names  added  for 
  7774.             variable   tracing   are  built  around  the   SD_PREFIX 
  7775.             ("SI2AFSD_1861_").   This is a constant string, declared 
  7776.             in  SYSTEM_PAREMETERS.  This prefix is "hard  coded"  in 
  7777.             SD_GENERICS, and SDTPT.
  7778.  
  7779.             Other  names added (for other than variable tracing) use 
  7780.             the prefix "SD_".
  7781.  
  7782.  
  7783.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7784.  
  7785.  
  7786.  
  7787.  
  7788.  
  7789.         Ada Symbolic Debugger User's Guide               Page: D - 4
  7790.  
  7791.  
  7792.  
  7793.  
  7794.         2.  Predefined Types
  7795.  
  7796.             The file SDTPT.SPC will show which predefined types  are 
  7797.             implemented.    Long/Short  Float/Integer  are  included 
  7798.             here,  and  are  assumed  to be defined  either  by  the 
  7799.             compiler or in SYSDEP.
  7800.  
  7801.  
  7802.         3.  File Names
  7803.  
  7804.             SDFNAMES.MAP  and PKGFILES.CAT are external  files  used 
  7805.             for  keeping  track  of  files  created  by  the  Source 
  7806.             Instrumenter.  The filenames, extensions, and the number 
  7807.             of  characters  for  forming filenames are  declared  in 
  7808.             SYSTEM_PARAMETERS.
  7809.  
  7810.  
  7811.         4.  Source Generation
  7812.  
  7813.             MAX_SOURCE_LINE_LENGTH  (declared in  SYSTEM_PARAMETERS) 
  7814.             is a constant which tells how long a source line can be.  
  7815.             It  is  currently  set to  80  characters.   Any  source 
  7816.             generated  by instrumenting is guaranteed not to  exceed 
  7817.             this size (accomplished by SD_SOURCE_BUFFERING).
  7818.  
  7819.  
  7820.  
  7821.  
  7822.  
  7823.  
  7824.  
  7825.  
  7826.  
  7827.  
  7828.  
  7829.  
  7830.  
  7831.  
  7832.  
  7833.  
  7834.  
  7835.  
  7836.  
  7837.  
  7838.  
  7839.  
  7840.  
  7841.  
  7842.  
  7843.  
  7844.  
  7845.  
  7846.  
  7847.  
  7848.  
  7849.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7850.  
  7851.  
  7852.  
  7853.  
  7854.  
  7855.         Ada Symbolic Debugger User's Guide               Page: E - 1
  7856.  
  7857.  
  7858.  
  7859.  
  7860.  
  7861.  
  7862.  
  7863.  
  7864.  
  7865.         
  7866.                                  APPENDIX E
  7867.  
  7868.                    THE TERMINAL CAPABILITIES FILE FORMAT
  7869.         
  7870.  
  7871.  
  7872.  
  7873.  
  7874.  
  7875.               ------------------------------------------------
  7876.               The Ada Symbolic  Debugger,  WIS_DEBUG,  uses an 
  7877.               ANSI  X3.64 Compatible Virtual Terminal  package 
  7878.               developed  for NOSC by Texas  Instruments  under 
  7879.               Contract  No.  N66001-84-R-0030.  This  Appendix       
  7880.               contains  information  extracted WORD  FOR  WORD 
  7881.               from CDRL Item No.  0028 (User Manual) necessary 
  7882.               to add support for additional terminals.
  7883.               ------------------------------------------------
  7884.  
  7885.  
  7886.  
  7887.  
  7888.  
  7889.  
  7890.  
  7891.  
  7892.  
  7893.  
  7894.  
  7895.  
  7896.  
  7897.  
  7898.  
  7899.  
  7900.  
  7901.  
  7902.  
  7903.  
  7904.  
  7905.  
  7906.  
  7907.  
  7908.  
  7909.  
  7910.  
  7911.  
  7912.  
  7913.  
  7914.  
  7915.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7916.  
  7917.  
  7918.  
  7919.  
  7920.  
  7921.         Ada Symbolic Debugger User's Guide               Page: E - 2
  7922.  
  7923.  
  7924.  
  7925.  
  7926.         
  7927.         E.1  INTRODUCTION
  7928.         
  7929.              The  Terminal  Capabilities File is a variation of  the  
  7930.         TERMCAP  developed  in the Berkeley extensions to  the  UNIX 
  7931.         operating system.
  7932.  
  7933.              The TCF is a data base describing terminals.  Terminals  
  7934.         are  described  in the TCF by giving a set  of  capabilities 
  7935.         which  they  have,  and  by describing  how  operations  are  
  7936.         performed.     Padding   requirements   and   initialization 
  7937.         sequences are included in the TCF.
  7938.  
  7939.              Entries in the TCF consist of a number of ":" separated 
  7940.         fields.  The  first entry for each terminal gives the  names 
  7941.         which  are  known  for  the  terminal,   separated  by   "|" 
  7942.         characters.   The first name is always 2 characters long and 
  7943.         is  used by older UNIX systems which store the terminal type 
  7944.         in a 16 bit word in a systemwide data base.  The second name 
  7945.         given is the most common abbreviation for the terminal,  and 
  7946.         the last name given should be a long name fully  identifying 
  7947.         the terminal.    This second name is the one that is matched 
  7948.         against the VMS logical name "TERM".  The second name should 
  7949.         contain no blanks; the last name may well contain blanks for 
  7950.         readability.   This virtual terminal uses the second name as  
  7951.         a match against the user supplied terminal name.
  7952.  
  7953.  
  7954.         
  7955.         E.2  CAPABILITIES
  7956.         
  7957.              (P) indicates padding may be specified.
  7958.                  Padding is an amount of time to be waited after the
  7959.            command is executed.
  7960.  
  7961.              Name   Type          Description
  7962.              al     str           Add new blank line
  7963.              be     str           Bell
  7964.              cd     str           Clear to end of display
  7965.              co     num           Number of columns in a line
  7966.              ce     str           Clear to end of line
  7967.              cm     str           Cursor motion
  7968.              dc     str           Delete character
  7969.              dl     str           Delete line
  7970.              ei     str           End insert mode
  7971.              im     str           Enter insert character mode
  7972.              is     str           Terminal initialization string
  7973.              k1     str           Sent by terminal function key 1
  7974.              k2     str           Sent by terminal function key 2
  7975.              k3     str           Sent by terminal function key 3
  7976.              k4     str           Sent by terminal function key 4
  7977.  
  7978.  
  7979.  
  7980.  
  7981.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  7982.  
  7983.  
  7984.  
  7985.  
  7986.  
  7987.         Ada Symbolic Debugger User's Guide               Page: E - 3
  7988.  
  7989.  
  7990.  
  7991.  
  7992.  
  7993.              k5     str           Sent by terminal function key 5
  7994.              k6     str           Sent by terminal function key 6
  7995.              k7     str           Sent by terminal function key 7
  7996.              k8     str           Sent by terminal function key 8
  7997.              k9     str           Sent by terminal function key 9
  7998.              l1     str           Label on function key 1
  7999.              l2     str           Label on function key 2
  8000.              l3     str           Label on function key 3
  8001.              l4     str           Label on function key 4
  8002.              l5     str           Label on function key 5
  8003.              l6     str           Label on function key 6
  8004.              l7     str           Label on function key 7
  8005.              l8     str           Label on function key 8
  8006.              l9     str           Label on function key 9
  8007.              kd     str           Sent by terminal down arrow key
  8008.              kl     str           Sent by terminal left arrow key
  8009.              kr     str           Sent by terminal right arrow key
  8010.              ku     str           Sent by terminal up arrow key
  8011.              li     num           Number of lines on screen or page
  8012.              nl     str           Newline character (default \n)
  8013.              se     str           End stand out mode
  8014.              sf     str           Scroll forwards
  8015.              so     str           Begin stand out mode
  8016.              sr     str           Scroll reverse (backwards)
  8017.              su     bool          Scrolls up at bottom of screen
  8018.              wr     bool          Wraps at end of line
  8019.              x0     str           Sent by terminal function key 10
  8020.              x1     str           Sent by terminal function key 11
  8021.              x2     str           Sent by terminal function key 12
  8022.              x3     str           Sent by terminal function key 13
  8023.              x4     str           Sent by terminal function key 14
  8024.              x5     str           Sent by terminal function key 15
  8025.              x6     str           Sent by terminal function key 16
  8026.              x7     str           Sent by terminal function key 17
  8027.              x8     str           Sent by terminal function key 18
  8028.              x9     str           Sent by terminal function key 19
  8029.              g0     str           Sent by terminal function key 20
  8030.              g1     str           Sent by terminal function key 21
  8031.              g2     str           Sent by terminal function key 22
  8032.              g3     str           Sent by terminal function key 23
  8033.              g4     str           Sent by terminal function key 24
  8034.              g5     str           Sent by terminal function key 25
  8035.              g6     str           Sent by terminal function key 26
  8036.              g7     str           Sent by terminal function key 27
  8037.              g8     str           Sent by terminal function key 28
  8038.              g9     str           Sent by terminal function key 29
  8039.              t0     str           Sent by terminal function key 30
  8040.              t1     str           Sent by terminal function key 31
  8041.              t2     str           Sent by terminal function key 32
  8042.              y0     str           Label on function key 10
  8043.  
  8044.  
  8045.  
  8046.  
  8047.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8048.  
  8049.  
  8050.  
  8051.  
  8052.  
  8053.         Ada Symbolic Debugger User's Guide               Page: E - 4
  8054.  
  8055.  
  8056.  
  8057.  
  8058.              y1     str           Label on function key 11
  8059.              y2     str           Label on function key 12
  8060.              y3     str           Label on function key 13
  8061.              y4     str           Label on function key 14
  8062.              y5     str           Label on function key 15
  8063.              y6     str           Label on function key 16
  8064.              y7     str           Label on function key 17
  8065.              y8     str           Label on function key 18
  8066.              y9     str           Label on function key 19
  8067.              h0     str           Label on function key 20
  8068.              h1     str           Label on function key 21
  8069.              h2     str           Label on function key 22
  8070.              h3     str           Label on function key 23
  8071.              h4     str           Label on function key 24
  8072.              h5     str           Label on function key 25
  8073.              h6     str           Label on function key 26
  8074.              h7     str           Label on function key 27
  8075.              h8     str           Label on function key 28
  8076.              h9     str           Label on function key 29
  8077.              v0     str           Label on function key 30
  8078.              v1     str           Label on function key 31
  8079.              v2     str           Label on function key 32
  8080.              an     str           Ansi terminal
  8081.              vt     str           VT terminal
  8082.              ca     str           Clear all of line
  8083.              cl     str           Clear screen
  8084.              ds     str           De-initialization string
  8085.  
  8086.  
  8087.              The following entry describes the Televideo-970,  among 
  8088.         the more complex entries in the TCF file as of this writing.
  8089.  
  8090.         t1|tv970|tv-970|televideo 970:\
  8091.         :al=1*\E[1L:am:bs:cd=\E[J:ce=\E[K:cl=\E[2J:cm=\E[%i%2;%2H:co#80:\
  8092.         :dc=\E[1P:dl=1*\E[1M:dn=\E[1B:ei=\E[4l:ho=\E[H:im=\E[4h:li#24:mi:\
  8093.         :nd=\E[1C:as=\E[10m:ae=\E[11m:ms:pt:se=\E[0m:so=\E[7m:up=\E[1A:\
  8094.         :vs=\E[>4h:ve=\E[>4l:kb=^h:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C:\
  8095.         :kh=\E[H:kn#8:k1=\EOS:k2=\EOT:k3=\EOU:k4=\EOV:k5=\EOW:l6=blue:\
  8096.         :sr=\EM:is=\E<\E[2J:\
  8097.         :ca=\E[2K:ds=\E[?2l:\
  8098.         :l1=F1:l2=F2:l3=F3:l4=F4:l5=F5:l6=F6:l7=F7:l8=F8:l9=F9:y0=F10:\
  8099.         :y1=F11:y2=F12:y3=F13:y4=F14:y5=F15:y6=F16:\
  8100.         :y7=Shift F1:y8=Shift F2:y9=Shift F3:h0=Shift F4:h1=Shift F5:\
  8101.         :h2=Shift F6:h3=Shift F7:h4=Shift F8:h5=Shift F9:h6=Shift F10:\
  8102.         :h7=Shift F11:h8=Shift F12:h9=Shift F13:v0=Shift F14:v1=Shift F15:\
  8103.         :v2=Shift F16:an:\
  8104.         :k1=\E?a:k2=\E?b::k3=\E?c:k4=\E?d:k5=\E?e:k6=\E?f:k7=\E?g:k8=\E?h:\
  8105.         :k9=\E?i:x0=\E?j:x1=\E?k:x2=\E?l:x3=\E?m:x4=\E?n:x5=\E?o:x6=\E?p:\
  8106.         :x7=\E?A:x8=\E?B:x9=\E?C:g0=\E?D:g1=\E?E:g2=\E?F:g3=\E?G:g4=\E?H:\
  8107.         :g5=\E?I:g6=\E?J:g7=\E?K:g8=\E?L:g9=\E?M:t0=\E?N:t1=\E?O:t2=\E?P:\
  8108.         :ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:
  8109.  
  8110.  
  8111.  
  8112.  
  8113.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8114.  
  8115.  
  8116.  
  8117.  
  8118.  
  8119.         Ada Symbolic Debugger User's Guide               Page: E - 5
  8120.  
  8121.  
  8122.  
  8123.  
  8124.              Note  that entries may continue onto multiple lines  by 
  8125.         giving  a \ as the last character of a line,  and that empty 
  8126.         fields  may  be included for readability (here  between  the 
  8127.         last  field  on  a line and the first field  on  the  next).  
  8128.         Capabilities   in  TCF  are  of  three    types:     Boolean 
  8129.         capabilities  which  indicate  that the  terminal  has  some 
  8130.         particular feature,  numeric capabilities giving the size of 
  8131.         the  terminal or the size of particular delays,  and  string 
  8132.         capabilities,  which  give a sequence which can be  used  to 
  8133.         perform particular terminal operations.
  8134.  
  8135.              All  capabilities  have  two  letter  codes.    Numeric 
  8136.         capabilities  are followed by the character "#" and then the 
  8137.         value.   Thus "co" which indicates the number of columns the 
  8138.         terminal has gives the value "80" for the Televideo-970.
  8139.  
  8140.              String valued capabilities,  such as "ce" (clear to end 
  8141.         of line sequence)  are given by the two character  code,  an 
  8142.         "=",  and then a string ending at the next following ":".  A 
  8143.         delay  in   milliseconds may appear after the "=" in such  a 
  8144.         capability.  The delay must be an integer, e.g.  "20".
  8145.  
  8146.              A number of escape sequences are provided in the string 
  8147.         valued  capabilities for easy encoding of characters  there.  
  8148.         A "\E" maps to an ESCAPE character, "^x" maps to a control-x 
  8149.         for  any appropriate x,   and the sequences "\n"  "\r"  "\t" 
  8150.         "\b"  "\f"  give  a  newline,  return,  tab,  backspace  and 
  8151.         formfeed.   Finally,  characters may be given as three octal 
  8152.         digits  after a "\",  and the characters "^" and "\" may  be 
  8153.         given as "\^" and "\\".   If it is necessary  to place a ":" 
  8154.         in a capability it must be escaped in octal as "\072".
  8155.  
  8156.              We   now   outline  how  to  prepare  descriptions   of 
  8157.         terminals.   The  most effective way to prepare  a  terminal 
  8158.         description  is  by imitating the description of  a  similar 
  8159.         terminal in TCF.   Be aware that a very unusual terminal may 
  8160.         expose  deficiencies  in  the  ability of the  TCF  file  to 
  8161.         describe it or bugs in the virtual terminal.  To easily test 
  8162.         a  new terminal description,   you can set  the  environment 
  8163.         variable  TCF  to  a  pathname  of  a  file  containing  the 
  8164.         description you are working on and the virtual terminal will 
  8165.         look there rather than the standard location.
  8166.  
  8167.  
  8168.  
  8169.  
  8170.  
  8171.  
  8172.  
  8173.  
  8174.  
  8175.  
  8176.  
  8177.  
  8178.  
  8179.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8180.  
  8181.  
  8182.  
  8183.  
  8184.  
  8185.         Ada Symbolic Debugger User's Guide               Page: E - 6
  8186.  
  8187.  
  8188.  
  8189.         
  8190.         E.2.1  Basic Capabilities
  8191.         
  8192.              The number of columns on each line for the terminal  is 
  8193.         given by the "co" numeric capability.   If the terminal is a 
  8194.         CRT,  then the number of lines on the screen is given by the 
  8195.         "li" capability.   If the terminal scrolls at the right edge 
  8196.         of the screen,  use ":wr:" to signal this.   If the terminal 
  8197.         scrolls up at the bottom of the screen, use ":su:" to signal 
  8198.         this.
  8199.  
  8200.              These  capabilities  suffice to describe  hardcopy  and 
  8201.         "glass-tty"  terminals.   Thus  the  model  33  teletype  is 
  8202.         described as
  8203.  
  8204.         t3|33|tty33:co#72
  8205.  
  8206.  
  8207.         while the Lear Siegler ADM-3 is described as
  8208.  
  8209.         cl|adm3|3|lsi:\
  8210.              adm3:wr:li#24:co#80
  8211.  
  8212.         
  8213.         E.2.2  Cursor Addressing
  8214.         
  8215.              Cursor  addressing  in the terminal is described  by  a 
  8216.         "cm"  string capability.    These substitute to encodings of 
  8217.         the current line or column position,  while other characters 
  8218.         are  passed  through  unchanged.    If the  "cm"  string  is 
  8219.         thought of as being a function,  then its arguments are  the 
  8220.         line and then the column to which motion is desired, and the 
  8221.         "%" encodings have the following meanings:
  8222.  
  8223.                   %d   use as many digits as necessary
  8224.                   %2   use 2 digits
  8225.                   %3   use 3 digits
  8226.                   %.   encode binary value into a character (7 bits)
  8227.                   %+x  adds x to value, then %.
  8228.                   %<xy if value < x adds y; then in any case %.
  8229.                   %r   reverses order of line and column, no output
  8230.                   %i   increments line/column (for 1 origin)
  8231.                   %%   gives a single %
  8232.  
  8233.              Consider the HP2645,  which, to get to row 3 and column 
  8234.         12,   needs   to    be  sent  "\E&a12c03Y"  padded   for   6 
  8235.         milliseconds.   Note  that the order of the rows and columns 
  8236.         is inverted here,  and that  the  row and column are printed 
  8237.         as    two   digits.     Thus   its   "cm"   capability    is 
  8238.         "cm=6\E&%r%2c%2Y".   The Microterm ACT-IV needs the  current 
  8239.         row  and  column sent preceded by a "^T",  with the row  and 
  8240.         column simply encoded in binary, "cm=^T%.%.".
  8241.  
  8242.  
  8243.  
  8244.  
  8245.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8246.  
  8247.  
  8248.  
  8249.  
  8250.  
  8251.         Ada Symbolic Debugger User's Guide               Page: E - 7
  8252.  
  8253.  
  8254.  
  8255.  
  8256.              A final example is the LSI ADM-3a,   which uses row and  
  8257.         column offset by a blank character, thus "cm=\E=%+ %+ ".
  8258.  
  8259.  
  8260.         
  8261.         E.2.3  Area Clears
  8262.         
  8263.              If the terminal can clear from the current position  to 
  8264.         the end  of the line,  leaving the cursor where it is,  this 
  8265.         should be given as "ce".  If the terminal can clear from the 
  8266.         current  position  to   the end of the  display,  then  this 
  8267.         should  be  given as "cd".   If the terminal  can  clear  an 
  8268.         entire line regardless of cursor location on the line,  this 
  8269.         should  be  given  as "ca".   If the terminal can  clear  an 
  8270.         entire display then this should be given as "cl".
  8271.  
  8272.  
  8273.         
  8274.         E.2.4  Insert/Delete Line
  8275.         
  8276.              If  the terminal can open a new blank line  before  the 
  8277.         line  where  the cursor is,   this should be given as  "al"; 
  8278.         this  is done only from the first position of a  line.   The 
  8279.         cursor  must then appear on the newly blank  line.   If  the 
  8280.         terminal  can delete the line which the cursor is  on,  then 
  8281.         this  should be given as "dl";  this is  done only from  the 
  8282.         first position on the line to be deleted.
  8283.  
  8284.  
  8285.         
  8286.         E.2.5  Insert/Delete Character
  8287.         
  8288.              There are two basic kinds of intelligent terminals with 
  8289.         respect  to  insert/delete character which can be  described 
  8290.         using  the  TCF.   The most common  insert/delete  character 
  8291.         operations  affect only the characters on the  current  line 
  8292.         and shift characters off the end of the line rigidly.  Other 
  8293.         terminals, such as the Concept 100 and the Perkin Elmer Owl, 
  8294.         make  a distinction between typed and untyped blanks on  the 
  8295.         screen, shifting upon an insert or delete only to an untyped 
  8296.         blank on the screen which is either eliminated,  or expanded 
  8297.         to  two  untyped  blanks.   You can find out which  kind  of 
  8298.         terminal  you  have by clearing the screen and  then  typing 
  8299.         text  separated  by cursor motions.   Type "abc  def"  using 
  8300.         local cursor motions (not  spaces) between the "abc" and the 
  8301.         "def".   Then position the cursor before the  "abc" and  put 
  8302.         the  terminal in insert mode.   If typing characters  causes 
  8303.         the rest of the line to shift rigidly and characters to fall 
  8304.         off the end, then your terminal does not distinguish between 
  8305.         blanks  and untyped positions.   If the "abc" shifts over to 
  8306.         the  "def"  which then move together around the end  of  the 
  8307.  
  8308.  
  8309.  
  8310.  
  8311.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8312.  
  8313.  
  8314.  
  8315.  
  8316.  
  8317.         Ada Symbolic Debugger User's Guide               Page: E - 8
  8318.  
  8319.  
  8320.  
  8321.  
  8322.  
  8323.         current line and onto the next as you insert,  you have  the 
  8324.         second  type of terminal.    If you have this second type of 
  8325.         terminal, you will get no support from the virtual terminal.  
  8326.         This may be changed in further versions.
  8327.  
  8328.              Give as "im" the sequence to get into insert  character 
  8329.         mode.  Give as "ei" the sequence to leave insert mode.
  8330.  
  8331.  
  8332.         
  8333.         E.2.6  Highlighting, Underlining, And Visible Bells
  8334.         
  8335.              If  your  terminal  has  sequences to  enter  and  exit 
  8336.         standout   mode  these  can  be  given  as  "so"  and   "se" 
  8337.         respectively.  If there are several flavors of standout mode 
  8338.         (such as inverse video,  blinking,  or underlining   -  half 
  8339.         bright  is  not considered "standout") the prefered mode  is 
  8340.         inverse video by itself.
  8341.  
  8342.              If  the  terminal has a way of flashing the  screen  to 
  8343.         indicate an error quietly (a bell replacement) then this can 
  8344.         be given as "be"; it must not move the cursor.
  8345.  
  8346.  
  8347.         
  8348.         E.2.7  Function Keys
  8349.         
  8350.              If the terminal has function keys that transmits  codes 
  8351.         when  the keys are pressed,  this information can be  given.  
  8352.         Note  that it is not possible to handle terminals where  the 
  8353.         keypad   only  works  in local  (this applies,  for example, 
  8354.         to the unshifted HP 2621 keys).  The codes sent by the  left 
  8355.         arrow,   right arrow, up arrow, down arrow keys can be given 
  8356.         as "kl",  "kr",  "ku",  and "kd" respectively.  If there are 
  8357.         function keys such as "f1",  "f2", ..., "f9", the codes they 
  8358.         send can be given as "k1", "k2", ..., "k9", "x0", "x1", ..., 
  8359.         "x6"  If these keys have labels,  the labels can be given as 
  8360.         "l1", ..., "l9", "y0", "y1", ..., "y6".
  8361.  
  8362.  
  8363.         
  8364.         E.2.8  Initialization
  8365.         
  8366.              An initialization string can be specified to setup  the 
  8367.         characteristics  of a terminal.   If the terminal must  have 
  8368.         its  function  keys defined or turn on the keypad mode  this 
  8369.         can be done with is.
  8370.  
  8371.  
  8372.  
  8373.  
  8374.  
  8375.  
  8376.  
  8377.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8378.  
  8379.  
  8380.  
  8381.  
  8382.  
  8383.         Ada Symbolic Debugger User's Guide               Page: E - 9
  8384.  
  8385.  
  8386.  
  8387.  
  8388.         Using the Televideo-970 example again:
  8389.  
  8390.         t1|tv970|tv-970|televideo 970:\
  8391.         :al=1*\E[1L:am:bs:cd=\E[J:ce=\E[K:cl=\E[2J:cm=\E[%i%2;%2H:co#80:\
  8392.         :dc=\E[1P:dl=1*\E[1M:dn=\E[1B:ei=\E[4l:ho=\E[H:im=\E[4h:li#24:mi:\
  8393.         :nd=\E[1C:as=\E[10m:ae=\E[11m:ms:pt:se=\E[0m:so=\E[7m:up=\E[1A:\
  8394.         :vs=\E[>4h:ve=\E[>4l:kb=^h:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C:\
  8395.         :kh=\E[H:kn#8:k1=\EOS:k2=\EOT:k3=\EOU:k4=\EOV:k5=\EOW:l6=blue:\
  8396.         :sr=\EM:is=\E<\E[2J:\
  8397.         :ca=\E[2K:ds=\E[?2l:\
  8398.         :l1=F1:l2=F2:l3=F3:l4=F4:l5=F5:l6=F6:l7=F7:l8=F8:l9=F9:y0=F10:\
  8399.         :y1=F11:y2=F12:y3=F13:y4=F14:y5=F15:y6=F16:\
  8400.         :y7=Shift F1:y8=Shift F2:y9=Shift F3:h0=Shift F4:h1=Shift F5:\
  8401.         :h2=Shift F6:h3=Shift F7:h4=Shift F8:h5=Shift F9:h6=Shift F10:\
  8402.         :h7=Shift F11:h8=Shift F12:h9=Shift F13:v0=Shift F14:v1=Shift F15:\
  8403.         :v2=Shift F16:an:\
  8404.         :k1=\E?a:k2=\E?b::k3=\E?c:k4=\E?d:k5=\E?e:k6=\E?f:k7=\E?g:k8=\E?h:\
  8405.         :k9=\E?i:x0=\E?j:x1=\E?k:x2=\E?l:x3=\E?m:x4=\E?n:x5=\E?o:x6=\E?p:\
  8406.         :x7=\E?A:x8=\E?B:x9=\E?C:g0=\E?D:g1=\E?E:g2=\E?F:g3=\E?G:g4=\E?H:\
  8407.         :g5=\E?I:g6=\E?J:g7=\E?K:g8=\E?L:g9=\E?M:t0=\E?N:t1=\E?O:t2=\E?P:\
  8408.         :ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:
  8409.  
  8410.  
  8411.  
  8412.              The  initialization  string  is  ":is=\E<\E[2J".   This 
  8413.         string  will  be  sent  to the  terminal  when  the  virtual 
  8414.         terminal is initialized.  The de-initialization string,  ds, 
  8415.         sends a string of escape sequences that changes the terminal 
  8416.         upon exiting the program.
  8417.  
  8418.  
  8419.  
  8420.  
  8421.  
  8422.  
  8423.  
  8424.  
  8425.  
  8426.  
  8427.  
  8428.  
  8429.  
  8430.  
  8431.  
  8432.  
  8433.  
  8434.  
  8435.  
  8436.  
  8437.  
  8438.  
  8439.  
  8440.  
  8441.  
  8442.  
  8443.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8444.  
  8445.  
  8446.  
  8447.  
  8448.  
  8449.         Ada Symbolic Debugger User's Guide               Page: F - 1
  8450.  
  8451.  
  8452.  
  8453.  
  8454.         
  8455.                                  APPENDIX F
  8456.  
  8457.  
  8458.                               HELP FILE FORMAT
  8459.         
  8460.  
  8461.  
  8462.  
  8463.              The  WIS_DEBUG Help Files are in a format  that  enable 
  8464.         the  user  to  easily extend them to add  additional  topics 
  8465.         about project or system specific information.  If  WIS_DEBUG 
  8466.         is rehosted, it may also be necessary to tailor the examples 
  8467.         for  commands  that deal directly with the system,  such  as 
  8468.         SYSTEM_COMMAND or the SET_LIBRARY command.
  8469.  
  8470.              Two separate Help Files are used by WIS_DEBUG. The file 
  8471.         WISDEBUG.HLP  contains  information  used by  the  WIS_DEBUG 
  8472.         Shell.  The  file SYMDEBUG.HLP contains information used  by 
  8473.         the  Symbolic Debugger.   Both are ASCII  text  files.   The 
  8474.         format  of  the  Help Files is described  on  the  following 
  8475.         pages.
  8476.  
  8477.  
  8478.  
  8479.  
  8480.  
  8481.  
  8482.  
  8483.  
  8484.  
  8485.  
  8486.  
  8487.  
  8488.  
  8489.  
  8490.  
  8491.  
  8492.  
  8493.  
  8494.  
  8495.  
  8496.  
  8497.  
  8498.  
  8499.  
  8500.  
  8501.  
  8502.  
  8503.  
  8504.  
  8505.  
  8506.  
  8507.  
  8508.  
  8509.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8510.  
  8511.  
  8512.  
  8513.  
  8514.  
  8515.         Ada Symbolic Debugger User's Guide               Page: F - 2
  8516.  
  8517.  
  8518.  
  8519.         
  8520.                               HELP FILE FORMAT
  8521.         
  8522.  
  8523.         1) The  first character of each line is a control character. 
  8524.            Control characters have the following meaning:
  8525.  
  8526.  
  8527.            #  designates a Menu Item.  Menu Items are displayed when 
  8528.               the HELP command is entered without a "topic".
  8529.  
  8530.  
  8531.            \  indicates help for a COMMAND.  The format of a COMMAND 
  8532.               line is:
  8533.  
  8534.                  \COMMAND\MIN_ABBREV\KBD_MACRO\COMMAND_DESCRIPTION 
  8535.  
  8536.               COMMAND is the full unabbreviated command.
  8537.  
  8538.               MIN_ABBREV  is the minimum abbreviation that  will  be 
  8539.               accepted for the command.
  8540.  
  8541.               KBD_MACRO  is  a  keyboard macro that may be  used  to 
  8542.               execute the command.
  8543.  
  8544.               COMMAND_DESCRIPTION  is a one line description of  the 
  8545.               command.
  8546.  
  8547.  
  8548.            $  indicates  help  for a TOPIC.   The format of a  TOPIC 
  8549.               line is:
  8550.  
  8551.                  \TOPIC\MIN_ABBREV\KBD_MACRO\TOPIC_DESCRIPTION 
  8552.  
  8553.               TOPIC is the full unabbreviated command.
  8554.  
  8555.               MIN_ABBREV  is the minimum abbreviation that  will  be 
  8556.               accepted for the topic.
  8557.  
  8558.               KBD_MACRO  is  not  applicable to  topics  and  should 
  8559.               contain something appropriate such as "N/A" or "None".
  8560.  
  8561.               TOPIC_DESCRIPTION  is  a one line description  of  the 
  8562.               topic.
  8563.  
  8564.  
  8565.            ?  causes the following prompt to be printed:
  8566.  
  8567.                 Enter RETURN for more information or "Q" to quit:
  8568.  
  8569.               If  "Q" or "q" is entered then HELP is terminated.  If 
  8570.               anything  other  than "Q" or "q" is entered  then  the 
  8571.               remainder of the line is displayed.
  8572.  
  8573.  
  8574.  
  8575.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8576.  
  8577.  
  8578.  
  8579.  
  8580.  
  8581.         Ada Symbolic Debugger User's Guide               Page: F - 3
  8582.  
  8583.  
  8584.  
  8585.  
  8586.         
  8587.                         HELP FILE FORMAT (Continued)
  8588.         
  8589.  
  8590.            E  causes the following prompt to be printed:
  8591.  
  8592.                 Enter RETURN for examples or "Q" to quit:
  8593.  
  8594.               If  "Q" or "q" is entered then HELP is terminated.  If 
  8595.               anything  other  than "Q" or "q" is entered  then  the 
  8596.               remainder of the line is displayed.
  8597.  
  8598.  
  8599.            +  causes the remainder of the line to be displayed.
  8600.  
  8601.  
  8602.  
  8603.         2) All  Menu  Items must be placed at the beginning  of  the 
  8604.            file.
  8605.  
  8606.  
  8607.         3) Help topics must be in alphabetical order.
  8608.  
  8609.  
  8610.         4) Blank  lines  are not allowed.
  8611.  
  8612.  
  8613.         5) All lines beginning with a character other than a control 
  8614.            character  are  ignored but will terminate HELP  for  the 
  8615.            topic  that  is currently  being  displayed.   Therefore, 
  8616.            comments may be inserted into the help file that are  not 
  8617.            printed  by using any non-control character in the  first 
  8618.            character position.
  8619.  
  8620.  
  8621.         6) Help  file  text  lines are limited to a  maximum  of  80 
  8622.            characters.
  8623.  
  8624.  
  8625.  
  8626.         An example Help File is shown on the following page. 
  8627.  
  8628.  
  8629.  
  8630.  
  8631.  
  8632.  
  8633.  
  8634.  
  8635.  
  8636.  
  8637.  
  8638.  
  8639.  
  8640.  
  8641.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8642.  
  8643.  
  8644.  
  8645.  
  8646.  
  8647.         Ada Symbolic Debugger User's Guide               Page: F - 4
  8648.  
  8649.  
  8650.  
  8651.  
  8652.         
  8653.                              EXAMPLE HELP FILE
  8654.         
  8655.  
  8656.              If  we  wanted to add information about a  new  command 
  8657.         HACF and a new topic FIRES,  the help file might be modified 
  8658.         to contain the following:
  8659.  
  8660.  
  8661.         #  FIRES    HACF
  8662.         *
  8663.         *  Last Modified 7/3/86  JEE
  8664.         *
  8665.         $FIRES\F\None\What to do in case of a fire:
  8666.         +
  8667.         +  1) Notify Security
  8668.         +  2) Power down the computer
  8669.         +  3) Yell "FIRE" three times
  8670.         ?  Evacuate the building!!
  8671.         *
  8672.         \HACF\HA\<PF5> - Function Key 5\Halt And Catch Fire
  8673.         +
  8674.         +A new system command has been added in honor of the 4th  of 
  8675.         +July.   It is now available through the WIS_DEBUG Shell via 
  8676.         +the SYSTEM_COMMAND option.
  8677.         ?
  8678.         +The format of the HACF command is:
  8679.         +
  8680.         +   SYSTEM_COMMAND( HACF );
  8681.         +   SYSTEM_COMMAND( HACF/DEVICE=name );
  8682.         +   SYSTEM_COMMAND( HACF/DELAY=seconds );
  8683.         +   SYSTEM_COMMAND( HACF/DEVICE=name/DELAY=seconds );
  8684.         +
  8685.         +   where: name    is the device name. Allowable devices are 
  8686.         +                     COMPUTER, PRINTER, and TERMINAL.
  8687.         +
  8688.         +          seconds is the number of seconds to delay  before
  8689.         +                     catching fire (0..86400).
  8690.         ?
  8691.         +    If  no DEVICE is specified then all devices will  catch 
  8692.         +    fire.   If  no  DELAY is specified then  the  specified
  8693.         +    device will catch fire immediately.
  8694.         E  1) SYSTEM_COMMAND( HACF/DEVICE=PRINTER/DELAY=8 );
  8695.         +     Will set the printer on fire in 8 seconds    
  8696.         +
  8697.         +  2) SYSTEM_COMMAND( HACF/DEVICE=TERMINAL );
  8698.         +     Will immediately set the terminal on fire    
  8699.         +
  8700.         +  3) SYSTEM_COMMAND( HACF/DELAY=86400 );
  8701.         +     Will set the computer, printer and terminal on fire in 
  8702.         +     24 hours
  8703.         ?  For more information enter HELP(FIRES);.pa
  8704.  
  8705.  
  8706.  
  8707.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8708.  
  8709.  
  8710.  
  8711.  
  8712.  
  8713.         Ada Symbolic Debugger User's Guide               Page: G - 1
  8714.  
  8715.  
  8716.  
  8717.  
  8718.         
  8719.                                  APPENDIX G
  8720.  
  8721.  
  8722.                     GLOSSARY OF TERMS AND ABBREVIATIONS
  8723.         
  8724.  
  8725.  
  8726.         This  appendix  contains definitions of many terms  as  used 
  8727.         within the context of this manual.
  8728.  
  8729.  
  8730.  
  8731.  
  8732.  
  8733.  
  8734.  
  8735.  
  8736.  
  8737.  
  8738.  
  8739.  
  8740.  
  8741.  
  8742.  
  8743.  
  8744.  
  8745.  
  8746.  
  8747.  
  8748.  
  8749.  
  8750.  
  8751.  
  8752.  
  8753.  
  8754.  
  8755.  
  8756.  
  8757.  
  8758.  
  8759.  
  8760.  
  8761.  
  8762.  
  8763.  
  8764.  
  8765.  
  8766.  
  8767.  
  8768.  
  8769.  
  8770.  
  8771.  
  8772.  
  8773.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8774.  
  8775.  
  8776.  
  8777.  
  8778.  
  8779.         Ada Symbolic Debugger User's Guide               Page: G - 2
  8780.  
  8781.  
  8782.  
  8783.         
  8784.         Base Program Library
  8785.              A  directory  containing certain  static  non-transient 
  8786.              files that are common to all users of the debugger.  It 
  8787.              must be set up at the time WIS_DEBUG is installed.
  8788.  
  8789.         
  8790.         Breakpoint
  8791.              A  breakpoint is a transfer of control from the  user's 
  8792.              program  to  the  Symbolic  Debugger.  Each  breakpoint 
  8793.              within   a  compilation  unit  is  assigned  a   unique 
  8794.              breakpoint  number  by  the  Source  Instrumenter.   In 
  8795.              general,  breakpoints are inserted after entry to  each 
  8796.              program  unit,  before each executeable statement,  and 
  8797.              before each exit from a program unit.
  8798.  
  8799.         
  8800.         CANFILE
  8801.              A text file that contains Symbolic Debugger commands in 
  8802.              exactly  the  same  format  as they  would  be  entered 
  8803.              through the keyboard at the command  prompt.   CANFILES 
  8804.              may  be  executed any time the Symbolic Debugger is  at 
  8805.              the command prompt ">>" by entering the CANFILE command 
  8806.              followed by the name of the CANFILE to be executed.
  8807.  
  8808.         
  8809.         Current Program Library
  8810.              A  directory  used to hold dynamic information that  is 
  8811.              created  and/or  used by the  Source  Instrumenter  and 
  8812.              Symbolic  Debugger during execution.   In general,  you 
  8813.              will have a single Current Program Library that is used 
  8814.              only by you.
  8815.  
  8816.         
  8817.         Keyboard Macros
  8818.              Macros  that extend the User Interface Command Language 
  8819.              and simplify the use of frequently used commands. There 
  8820.              are two types of keyboard macros:
  8821.  
  8822.              1. Predefined  Keyboard Macros that are only  available 
  8823.                 when the Symbolic Debugger is in SCREEN mode.
  8824.  
  8825.              2. User  Defined Keyboard Macros that may be defined by 
  8826.                 the user via the DEFINE command.
  8827.  
  8828.         
  8829.         Log File
  8830.              A  sequential  file created by  the  Symbolic  Debugger 
  8831.              during  execution of an instrumented Ada program.   The 
  8832.              Log  File  is  used to  record  information  about  the 
  8833.              execution of the Ada program.
  8834.  
  8835.  
  8836.  
  8837.  
  8838.  
  8839.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8840.  
  8841.  
  8842.  
  8843.  
  8844.  
  8845.         Ada Symbolic Debugger User's Guide               Page: G - 3
  8846.  
  8847.  
  8848.  
  8849.  
  8850.         
  8851.         Overhead
  8852.              Additional execution time imposed on the program  under 
  8853.              test by the Symbolic Debugger.
  8854.  
  8855.         
  8856.         Program Library
  8857.              The   WIS_DEBUG   Program  Library  consists   of   two 
  8858.              libraries, or directories:
  8859.                   1. the BASE Program Library
  8860.                   2. the CURRENT Program Library
  8861.  
  8862.         
  8863.         Program Unit
  8864.              Ada  programs  may  contain  four  different  types  of 
  8865.              program  units:   procedures,   functions,   tasks  and 
  8866.              generics.  However,  the Ada language also provides the 
  8867.              ability  to include executeable code within  a  package 
  8868.              body  that  is not included within any of  the  program 
  8869.              units contained in that package.  This code is executed 
  8870.              during  initialization when the package is  elaborated. 
  8871.              The WIS_DEBUG Source Instrumenter and Symbolic Debugger 
  8872.              treat  package "initialization" code the same as  other 
  8873.              Ada program units.
  8874.  
  8875.         
  8876.         Screen Mode
  8877.              WIS_DEBUG  supports  both SCREEN mode  and  NON  SCREEN 
  8878.              (TTY)  type  terminals.   When  using the  SCREEN  mode 
  8879.              WIS_DEBUG  divides the screen into three  independently 
  8880.              scrolled regions:
  8881.  
  8882.              1. An OUTPUT region for input of debugger commands  and 
  8883.                 output of debugger messages and diagnostics.
  8884.  
  8885.              2. A  USER  region for input and output by  the  user's 
  8886.                 program.
  8887.  
  8888.              3. A  SOURCE region for displaying a source listing  of 
  8889.                 the currently executing compilation unit.
  8890.  
  8891.         
  8892.         Shell
  8893.              The  Shell  is the primary interface to WIS_DEBUG  that 
  8894.              enables  the  user  to access  each  of  the  WIS_DEBUG 
  8895.              features.   Its  principal  functions  include  program 
  8896.              library management, source instrumentation, compilation 
  8897.              and linking, and execution of the Symbolic Debugger.
  8898.  
  8899.  
  8900.  
  8901.  
  8902.  
  8903.  
  8904.  
  8905.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8906.  
  8907.  
  8908.  
  8909.  
  8910.  
  8911.         Ada Symbolic Debugger User's Guide               Page: G - 4
  8912.  
  8913.  
  8914.  
  8915.  
  8916.         
  8917.         Source Instrumenter
  8918.              An  Ada program that parses the target Ada program  and 
  8919.              inserts  "hooks" that transfer control to the  Symbolic 
  8920.              Debugger upon entry to and exit from each  instrumented 
  8921.              Ada  program  unit  and at each  breakpoint.  Each  Ada 
  8922.              program  unit  which is to be visible to  the  Symbolic 
  8923.              Debugger   must   be   instrumented   by   the   Source 
  8924.              Instrumenter prior to compilation.
  8925.  
  8926.         
  8927.         Terminal Capabilities File 
  8928.              A  file  containing  the attributes  of  each  terminal 
  8929.              supported by WIS_DEBUG.  The Terminal Capabilities File 
  8930.              (TCF.DAT) must be located in the Base Program Library.
  8931.  
  8932.         
  8933.         Test ID
  8934.              A unique test identification specified by the user when 
  8935.              the  program  under test is executed.  The Test  ID  is 
  8936.              stored in the log file by the Symbolic Debugger.
  8937.  
  8938.         
  8939.         User Interface Command Language (UICL)
  8940.              The  set of commands used to specify user  requests  to 
  8941.              the Symbolic Debugger.
  8942.  
  8943.         
  8944.         Working Directory
  8945.              A  directory containing the Ada source programs  to  be 
  8946.              instrumented and debugged.
  8947.  
  8948.  
  8949.  
  8950.  
  8951.  
  8952.  
  8953.  
  8954.  
  8955.  
  8956.  
  8957.  
  8958.  
  8959.  
  8960.  
  8961.  
  8962.  
  8963.  
  8964.  
  8965.  
  8966.  
  8967.  
  8968.  
  8969.  
  8970.  
  8971.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  8972.  
  8973.  
  8974.  
  8975.  
  8976.  
  8977.         Ada Symbolic Debugger User's Guide               Page: H - 1
  8978.  
  8979.  
  8980.  
  8981.  
  8982.         
  8983.                                  APPENDIX H
  8984.  
  8985.                      COMMAND INDEX AND QUICK REFERENCE
  8986.  
  8987.  
  8988.             COMMAND       MIN CMD ABBREV  TYPE     KBD MACRO   PAGE
  8989.         ----------------  --------------  -----    ---------  ------
  8990.         
  8991.         ANNOUNCE          A               Debug    None       A -  5
  8992.         CANFILE           CA              Debug    None       A -  6
  8993.         COMPILE           C               Shell    None       A -  7
  8994.         CLEAR_BREAKPOINT  CL              Debug    None       A -  8
  8995.         DEFINE            DE              Debug    None       A - 10
  8996.         DELETE            D               Shell    None       A - 11
  8997.         DISPLAY_UNITS     DI              Debug    None       A - 12
  8998.         EXIT              EX              BOTH     None       A - 13
  8999.         GO                G               Debug    None       A - 14
  9000.         HELP              H               BOTH     None       A - 15
  9001.         LIBRARY           LIB             Shell    None       A - 16
  9002.         LINK              LIN             Shell    None       A - 17
  9003.         PUT_VARIABLE      P               Debug    None       A - 18
  9004.         QUIT              QU              BOTH     None       A - 19
  9005.         RECREATE          REC             Debug    None       A - 20
  9006.         RESHOW            RES             Debug    None       A - 21
  9007.         RUN               R               Shell    None       A - 22
  9008.         SCREEN            SCRE            Debug    None       A - 23
  9009.         SCROLL_DOWN       SCROLL_D        Debug    <PF3>      A - 24
  9010.         SCROLL_UP         SCROLL_U        Debug    <PF2>      A - 25
  9011.         SET_BREAKPOINT    SET_B           Debug    None       A - 26
  9012.         SET_LIBRARY       SET_L           BOTH     None       A - 28
  9013.         SET_OUTPUT        SET_O           Debug    None       A - 29
  9014.         SET_SOURCE        SET_S           Debug    None       A - 30
  9015.         SET_VARIABLE      Var := Value    Debug    None       A - 31
  9016.         SHOW_BREAKPOINTS  SHOW_B          Debug    None       A - 32
  9017.         SHOW_DEFINE       SHOW_D          Debug    None       A - 33
  9018.         SHOW_HISTORY      SHOW_H          Debug    None       A - 34
  9019.         SILENT            SI              Debug    None       A - 35
  9020.         SOURCE_INSTRUMENT SO              Shell    None       A - 36
  9021.         STEP              ST              Debug    <ENTER>    A - 38
  9022.         SYSTEM_COMMAND    SY              Shell    None       A - 39
  9023.         ?                 ?               Shell    None       A - 40
  9024.  
  9025.  
  9026.         (insert mode toggle)              Debug    <PF1>
  9027.  
  9028.         (erase end of line)               Debug    <PF4>
  9029.  
  9030.         (recall previous commands)        Debug    <UP ARROW>
  9031.                                                    <DN ARROW>
  9032.  
  9033.  
  9034.  
  9035.  
  9036.  
  9037.         Intermetrics Inc  5312 Bolsa Ave  Huntington Beach, CA 92649
  9038.  
  9039.  
  9040.  
  9041.  
  9042.  
  9043.