home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / vacbdbg.zip / betadbg.zip / help / derdhy1.hlp (.txt) < prev    next >
OS/2 Help File  |  1998-02-13  |  201KB  |  6,756 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Procedure Help for Debugger ΓòÉΓòÉΓòÉ
  3.  
  4. The Debugger Online Help is divided into four types of information: 
  5.  
  6.      Procedures - how to perform a specific task or set of tasks 
  7.  
  8.      Reference - technical information you may need to understand how to 
  9.       perform a task 
  10.  
  11.      User Interface - context-sensitive help pages displayed when you press F1 
  12.       from within the debugger 
  13.  
  14.      Concepts - overview information you may need to understand basic 
  15.       principles of debugging or components of the debugger interface 
  16.  
  17.  Procedure help is organized hierarchically, so that you start from a 
  18.  high-level task and follow it down to the specific task you want to perform. 
  19.  Help is available for the following high-level tasks: 
  20.  
  21.      Prepare a program for debugging 
  22.  
  23.      Start or stop debugging a program 
  24.  
  25.      Set breakpoints in your program 
  26.  
  27.      Step through, run, or halt your program 
  28.  
  29.      Debug variable contents and memory 
  30.  
  31.      Debug logic and program flow 
  32.  
  33.  
  34. ΓòÉΓòÉΓòÉ 1.1. Prepare a Program for Debugging ΓòÉΓòÉΓòÉ
  35.  
  36. To prepare a program for debugging, you may need to perform some or all of the 
  37. following tasks: 
  38.  
  39.      Establish a debug environment 
  40.  
  41.      Write programs for debugging 
  42.  
  43.      Compile a program for debugging 
  44.  
  45.  
  46. ΓòÉΓòÉΓòÉ 1.1.1. Write Programs for Debugging ΓòÉΓòÉΓòÉ
  47.  
  48. You can make your programs easier to debug by following these simple 
  49. guidelines: 
  50.  
  51.      Do not hand-tune your source code for performance until you have fully 
  52.       debugged and tested the untuned version. Hand tuning may introduce new 
  53.       bugs or make the logic of your code harder to understand. 
  54.  
  55.      Where possible, do not put multiple statements on a single line, because 
  56.       some debugger features operate on a line basis. For example, you cannot 
  57.       set line breakpoints on more than one statement on the same line. 
  58.       Although you can step over multiple statements on the same line, it is 
  59.       difficult to determine which statements on the current line have been 
  60.       executed already, and which ones have not. 
  61.  
  62.      Assign intermediate expression values to temporary variables to make it 
  63.       easier to verify intermediate results. 
  64.  
  65.  To be able to debug your programs at the line level, you must specify compiler 
  66.  options that generate debug information. For information on these compiler 
  67.  options, and for other information on preparing your application for 
  68.  debugging, see the Debug Tool User's Guide and Reference. 
  69.  
  70.  
  71. ΓòÉΓòÉΓòÉ 1.1.2. Compile a Program for Debugging ΓòÉΓòÉΓòÉ
  72.  
  73. In order to be able to debug your program at the source code level, you need to 
  74. compile your program with certain compiler options that instruct the compiler 
  75. to generate symbolic information in the object file. The Related Topics section 
  76. below points to information on how to compile your program for a specific 
  77. environment. 
  78.  
  79. Related Information 
  80.  
  81. Reference 
  82. Compiler Options on OS/390 
  83.  
  84. Procedures 
  85. Write Programs for Debugging 
  86.  
  87.  
  88. ΓòÉΓòÉΓòÉ 1.1.3. Establish a Debug Environment ΓòÉΓòÉΓòÉ
  89.  
  90. To establish a debug environment, you need to perform some or all of the 
  91. following tasks: 
  92.  
  93.      Set environment variables for the debugger 
  94.  
  95.      Start the debug session 
  96.  
  97.  
  98. ΓòÉΓòÉΓòÉ 1.1.3.1. Set Environment Variables for the Debugger ΓòÉΓòÉΓòÉ
  99.  
  100. The debugger user interface running on the workstation uses certain environment 
  101. variables to determine where it looks for source files, executables, online 
  102. help, and so on. See the Related Topics below for help on the environment 
  103. variables themselves. 
  104.  
  105. To set an environment variable for a given session of the debugger, do the 
  106. following on your OS/2 or Windows workstation: 
  107.  
  108.    1. Open a command shell window. 
  109.  
  110.    2. Use the SET command to set each environment variable to the required 
  111.       value: 
  112.  
  113.             SET VARNAME=VAL1;VAL2;VAL3
  114.  
  115.       where VARNAME is the name of the environment variable, and VAL1, VAL2, 
  116.       and VAL3 are values assigned to it (normally multiple values for a 
  117.       variable are separated by semicolons). 
  118.  
  119.       If you want to add more values to an existing variable, use the following 
  120.       syntax: 
  121.  
  122.             SET VARNAME=%VARNAME%;VAL4;VAL5
  123.  
  124.       This adds both the existing contents of VARNAME and the new values to the 
  125.       variable. 
  126.  
  127.    3. Invoke the debugger daemonfrom that command shell. 
  128.  
  129.  If you want to set these environment variables permanently, or if you are 
  130.  debugging remotely to an OS/390 host via APPC, do the following, depending on 
  131.  the operating system you are using: 
  132.  
  133.  From Control Panel select System, then within the System notebook choose the 
  134.  Environment tab. Select the variable you want to change from the list, or 
  135.  enter a new variable name in the Variable entry field, and enter its values in 
  136.  the Value entry field. Click on OK or Apply to save the changed or new 
  137.  variable. 
  138.  
  139.  Add the SET... commands to your CONFIG.SYS file. A reboot is required for 
  140.  these changes to take effect. 
  141.  
  142.  Related Information 
  143.  
  144.  Reference 
  145.  Environment Variables 
  146.  
  147.  
  148. ΓòÉΓòÉΓòÉ 1.1.3.2. Invoke the Debugger ΓòÉΓòÉΓòÉ
  149.  
  150. How you invoke the debugger for an OS/390 program depends on the communications 
  151. protocol you are using. See the following for details: 
  152.  
  153.      TCP/IP connection 
  154.  
  155.      APPC connection (OS/2 only) 
  156.  
  157.  Related Information 
  158.  
  159.  Procedures 
  160.  Start the Debug Tool under OpenEdition MVS 
  161.  
  162.  
  163. ΓòÉΓòÉΓòÉ 1.1.3.2.1. Establish an APPC Connection ΓòÉΓòÉΓòÉ
  164.  
  165. Follow these steps to debug a program running on an OS/390 system through APPC. 
  166.  
  167.    1. Set the DEBUG_LANG environment variable to indicate the dominant 
  168.       programming language for your application. (For debugging remotely to 
  169.       OS/390, only COBOL is supported.) You can set this from the command shell 
  170.       or in your OS/2 CONFIG.SYS file. Note that this variable is usually set 
  171.       for you during installation. 
  172.  
  173.    2. Start your application on OS/390 with the TEST runtime option. This will 
  174.       cause the Debug Tool to be loaded; it will then automatically establish a 
  175.       connection to the OS/2 workstation through APPC. You can specify the TEST 
  176.       runtime option as: 
  177.  
  178.             TEST(,,,VADAPPC&machinename:*)
  179.  
  180.       where machinename is the APPC symbolic destination name for your 
  181.       workstation. The details of how to start your program with the TEST 
  182.       option vary depending on the OS/390 environment the program runs in. The 
  183.       environments supported are batch (JES), TSO, CICS, and BTS. For more 
  184.       information on specific environments, or on what you can specify with the 
  185.       TEST option, see the Debug Tool User's Guide and Reference. 
  186.  
  187.  Related Information 
  188.  
  189.  Reference 
  190.  DEBUG_LANG Environment Variable 
  191.  
  192.  Procedures 
  193.  Start the Debug Tool under OpenEdition MVS 
  194.  
  195.  
  196. ΓòÉΓòÉΓòÉ 1.1.3.2.2. Establish a TCP/IP Connection ΓòÉΓòÉΓòÉ
  197.  
  198. Follow these steps to debug a program running on an OS/390 system through 
  199. TCP/IP. 
  200.  
  201.    1. Set the DEBUG_LANG environment variable to indicate the dominant 
  202.       programming language for your application. (For debugging remotely to 
  203.       OS/390, only COBOL is supported.) You can set this from the command 
  204.       shell, in your CONFIG.SYS file (OS/2), or in System Settings (Windows). 
  205.       Note that this variable is usually set for you during installation. 
  206.  
  207.    2. Start the remote debug daemon on the workstation. Click on the Remote 
  208.       Debug Daemon icon or shortcut, start the daemon from a WorkFrame MVS 
  209.       project, or issue the following command and options: 
  210.  
  211.             idbugd -qport=nnnn -v
  212.  
  213.       where nnnn is a TCP/IP port such as 8000 or 8001 (note that this same 
  214.       port number must be specified when you start your application on OS/390). 
  215.  
  216.       The daemon only needs to be started once. You can then conduct as many 
  217.       remote debug sessions as needed without having to restart the daemon. 
  218.  
  219.    3. Start your application on OS/390 with the TEST runtime option. This will 
  220.       cause the Debug Tool to be loaded. You can specify the TEST runtime 
  221.       option as: 
  222.  
  223.             TEST(,,,VADTCPIP&machinename%nnnn:*)
  224.  
  225.       where machinename is the ip address of your workstation and nnnn is the 
  226.       same TCP/IP port number as specified on the idbugd command. If omitted, 
  227.       the port number defaults to 8000. The details of how to start your 
  228.       program with the TEST option vary depending on the OS/390 environment the 
  229.       program runs in. The environments supported are batch (JES), TSO, CICS, 
  230.       and BTS. For more information on specific environments, or on what you 
  231.       can specify with the TEST option, see the Debug Tool User's Guide and 
  232.       Reference. 
  233.  
  234.  Related Information 
  235.  
  236.  Reference 
  237.  DEBUG_LANG Environment Variable 
  238.  
  239.  Procedures 
  240.  Start the Debug Tool under OpenEdition MVS 
  241.  
  242.  
  243. ΓòÉΓòÉΓòÉ 1.1.3.2.3. Start the Debug Tool under OpenEdition MVS ΓòÉΓòÉΓòÉ
  244.  
  245. As with MVS or TSO you must set up your STEPLIB so that the application to be 
  246. debugged, the debugger and the runtime library can be found. Also you need to 
  247. specify the runtime TEST option. If you did not compile with #pragma runopts 
  248. then you need to specify this option through the system variable _CEE_RUNOPTS 
  249. One possibility is to create a shell script in OpenEdition MVS with the 
  250. following commands: 
  251.  
  252.   #comment
  253.   export STEPLIB=SHRC390.DEBUG.LEVEL4.SEQAMOD
  254.      :SHARE.CEE170.SCEERUN
  255.   export _CEE_RUNOPTS='TEST(,,,VADTCPIP&WRKST:*) POSIX(ON)'
  256.  
  257. To set up your environment and execute myprog in the shell, invoke the shell 
  258. script. Debug Tool should connect to the waiting debugger user interface on the 
  259. workstation. The C runtime library must be Language Environment 1.7 or later in 
  260. the exported STEPLIB variable. 
  261.  
  262. If your program is an MVS executable you need to: 
  263.  
  264.      Create an OpenEdtion file which has the same name as the MVS executable 
  265.  
  266.      Set the file's attributes to be executable with the sticky bit on 
  267.  
  268.      Put the MVS PDS or PDSE in the STEPLIB variable 
  269.  
  270.      Set the Language Environment runtime TEST option to invoke the debugger 
  271.  
  272.      Run the OpenEdition file, which is essentially a link to the MVS one. 
  273.  
  274.  An example of doing this is: 
  275.  
  276.    >touch /u/userid/myprog10
  277.    >chmod 1700 /u/userid/myprog10
  278.    >export STEPLIB=USERID.PROJ1.LOAD:$STEPLIB
  279.    >export _CEE_RUNOPTS='TEST(,,,VADTCPIP&9.24.25.26:*) POSIX(ON)'
  280.    >/u/userid/myprog10
  281.  
  282.  The program to be debugged is USERID.PROJ1.LOAD(MYPROG10) 
  283.  
  284.  
  285. ΓòÉΓòÉΓòÉ 1.1.3.3. Use the Source Window ΓòÉΓòÉΓòÉ
  286.  
  287. Use the Source window to view the progress of your program as you debug it. The 
  288. Source window displays your program's source code,  and updates the display 
  289. after each step or run command. You can set or clear breakpoints, add variables 
  290. or expressions to a monitor, and more. See the following tasks related to using 
  291. the Source window: 
  292.  
  293.      View different source files 
  294.  
  295.      Set and clear breakpoints 
  296.  
  297.      Add expressions and variables to a monitor 
  298.  
  299.      Run your program 
  300.  
  301.      Step through your program 
  302.  
  303.      Open other windows and monitors 
  304.  
  305.  
  306. ΓòÉΓòÉΓòÉ 1.1.3.3.1. View Different Source Files ΓòÉΓòÉΓòÉ
  307.  
  308. When you start the debugger, a single Source window appears. 
  309.  
  310. If your executable file was linked from several object files, you can open a 
  311. Source window for each object, and view several source files at once: 
  312.  
  313.    1. Raise the Session Control window by selecting it from the Windows menu of 
  314.       any main debugger window 
  315.  
  316.    2. Click on the + icon beside the name of the executable, to open a list of 
  317.       object files 
  318.  
  319.    3. Double-click on the object file you want to view. If that object file is 
  320.       not already in a Source window, a new Source window opens containing the 
  321.       source file for that object file. 
  322.  
  323.  You can also open new Source windows from the File menu of the Session Control 
  324.  window or of an existing Source window: 
  325.  
  326.    1. Select File->Open new source 
  327.  
  328.    2. Enter the name of the source file. This source file must be a part of the 
  329.       application you are currently debugging. 
  330.  
  331.    3. Click on OK. A Source window for the new source file opens, if the 
  332.       debugger is able to locate the file. 
  333.  
  334.  Related Information 
  335.  
  336.  Procedures 
  337.  
  338.  Open Other Debugger Windows 
  339.  Use the Source Window 
  340.  
  341.  Reference 
  342.  Problems Getting a Source View 
  343.  
  344.  
  345. ΓòÉΓòÉΓòÉ 1.1.3.4. Open Other Debugger Windows ΓòÉΓòÉΓòÉ
  346.  
  347. You can open other Source windows from a Source window or from the Session 
  348. Control window. 
  349.  
  350. To open a monitor window from a Source window, click on a monitor toolbar 
  351. button or select the desired monitor from the Monitors menu. You can also open 
  352. a monitor window by adding a variable to that monitor, in one of the following 
  353. ways: 
  354.  
  355.      Click the right mouse button on the variable in the Source window, then 
  356.       select the appropriate monitor from the popup menu. 
  357.  
  358.      Double-click the left mouse button on the variable, to add the variable 
  359.       to the Program monitor. 
  360.  
  361.      Click the right mouse button on the variable, press Ctrl+M, and select 
  362.       the desired monitor from the Monitor Expression dialog. 
  363.  
  364.  To open the Breakpoints list window, select Breakpoints->List from the menu 
  365.  bar, or press Ctrl+X. 
  366.  
  367.  To change the focus from a Source window to another window that is already 
  368.  opened (or minimized), select that window from the Windows menu. 
  369.  
  370.  Related Information 
  371.  
  372.  Procedures 
  373.  View Different Source Files 
  374.  Add Expressions and Variables to a Monitor 
  375.  
  376.  
  377. ΓòÉΓòÉΓòÉ 1.2. Start or Stop Debugging a Program ΓòÉΓòÉΓòÉ
  378.  
  379. To start or stop debugging a program, you will need to know how to perform some 
  380. of the following subtasks: 
  381.  
  382.      Invoke the debugger 
  383.  
  384.      Set breakpoints in your program 
  385.  
  386.      Step through or run a program 
  387.  
  388.  
  389. ΓòÉΓòÉΓòÉ 1.2.1. Start Debugging a Compile Unit from a Load Occurrence Breakpoint Dialog ΓòÉΓòÉΓòÉ
  390.  
  391. You can set a breakpoint in a compile unit that causes execution to stop when 
  392. the compile unit is first loaded by your application. The compile unit is 
  393. generally loaded by your application the first time a function contained within 
  394. the compile unit is called by another function within your application.This 
  395. type of breakpoint is called a load occurrence breakpoint. 
  396.  
  397. To set a load occurrence breakpoint, do the following: 
  398.  
  399.    1. From the Breakpoints menu of the Session Control or Source windows, or 
  400.       from the Set menu of the Breakpoints List window, choose Set load 
  401.       occurrence breakpoint. 
  402.  
  403.    2. In the Load Occurrence Breakpoint dialog, enter the name of the compile 
  404.       unit you want to set the breakpoint in. 
  405.  
  406.    3. Click on OK to set the breakpoint and close the Load Occurrence 
  407.       Breakpoint dialog, or click on Set if you want to set more load 
  408.       occurrence breakpoints. 
  409.  
  410.  When you run your application, execution will stop when the compile unit is 
  411.  first loaded. 
  412.  
  413.  
  414. ΓòÉΓòÉΓòÉ 1.2.2. Start Debugging a Compile Unit from the Breakpoints List Window ΓòÉΓòÉΓòÉ
  415.  
  416. You can start debugging a compile unit from the Breakpoints List window by 
  417. setting a line breakpoint in that compile unit, then issuing the Run command. 
  418. You can only do this if the compile unit you want to place the breakpoint in 
  419. was compiled with debug information. To set a line breakpoint in a compile unit 
  420. and then start debugging the compile unit, do the following: 
  421.  
  422.    1. Open a Breakpoints List window 
  423.  
  424.    2. From the Set menu choose Set line 
  425.  
  426.    3. In the Line Breakpoint dialog, from the Source pulldown list choose the 
  427.       compile unit containing the code you want to debug. 
  428.  
  429.    4. In the Line entry field, enter the line number within the source file you 
  430.       want to place a breakpoint in. 
  431.  
  432.    5. Click on the Defer breakpoint check box. 
  433.  
  434.    6. Issue the Run command by pressing Ctrl+R. 
  435.  
  436.  You can also use a function breakpoint instead of a line breakpoint to 
  437.  accomplish the same task. Follow the above instructions, but choose Set -> Set 
  438.  function instead of Set -> Set line, and select the desired function name from 
  439.  the pulldown list in the breakpoint dialog. 
  440.  
  441.  Related Information 
  442.  
  443.  Procedures 
  444.  Set a Deferred Breakpoint 
  445.  Set a Line Breakpoint 
  446.  
  447.  
  448. ΓòÉΓòÉΓòÉ 1.2.3. Start Debugging a Compile Unit from the Session Control Window ΓòÉΓòÉΓòÉ
  449.  
  450. You can use the Session Control window to access a Source window containing the 
  451. source for a compile unit you want to debug. 
  452.  
  453.    1. In the Session Control window, expand the Components Pane entry for the 
  454.       compile unit you want to debug. 
  455.  
  456.    2. Continue expanding appropriate items in the list until you find the 
  457.       source file or function you want to debug. If the source file or function 
  458.       is not listed, you may not have compiled the function with debug 
  459.       information. 
  460.  
  461.    3. Double-click on the source file or function to raise a Source window for 
  462.       it. 
  463.  
  464.    4. Set a line, function, or other breakpoint at an appropriate point in that 
  465.       source window. 
  466.  
  467.    5. Run your program. 
  468.  
  469.  Related Information 
  470.  
  471.  Procedures 
  472.  Run a Program 
  473.  Set Breakpoints 
  474.  
  475.  
  476. ΓòÉΓòÉΓòÉ 1.3. Set Breakpoints in Your Program ΓòÉΓòÉΓòÉ
  477.  
  478. You can set breakpoints in your program from a number of windows. See the 
  479. following subtasks: 
  480.  
  481.      Set breakpoints from the Breakpoints List window 
  482.  
  483.      Set breakpoints from a Source window 
  484.  
  485.      Set function breakpoints from the Session Control window 
  486.  
  487.  
  488. ΓòÉΓòÉΓòÉ 1.3.1. Set Breakpoints in the Breakpoints List Window ΓòÉΓòÉΓòÉ
  489.  
  490. To set breakpoints from the Breakpoints List window, open the window (if it is 
  491. not already open), using one of the following methods 
  492.  
  493.    1. Type Ctrl+X from any main debugger window or monitor 
  494.  
  495.    2. Select List from the Breakpoints menu of the Source window 
  496.  
  497.    3. Click on the  button in the Source Window 
  498.  
  499.    4. Position the cursor in the prefix area, click mouse button 2, and select 
  500.       List from the popup menu. 
  501.  
  502.  Then do the following: 
  503.  
  504.    1. From the Breakpoints List window, select the type of breakpoint you want 
  505.       to set from the Set menu. 
  506.  
  507.    2. Enter the information for the breakpoint in the dialog, and click on OK 
  508.       or press the Enter key. 
  509.  
  510.  You can set breakpoints from the Source window and the Session Control window 
  511.  as well. Unless you want to set multiple breakpoints with the same nonstandard 
  512.  optional parameters, you may find it easier to use the Source window for 
  513.  setting line breakpoints, and the Session Control window for setting function 
  514.  breakpoints. Storage change breakpoints and load occurrence breakpoints can be 
  515.  set from any of the three windows. 
  516.  
  517.  Related Information 
  518.  
  519.  Procedures 
  520.  Set Multiple Breakpoints 
  521.  Set and Clear Breakpoints from a Source Window 
  522.  Set Function Breakpoints from the Session Control Window 
  523.  
  524.  Concepts 
  525.  Types of Breakpoints 
  526.  
  527.  
  528. ΓòÉΓòÉΓòÉ 1.3.2. Set and Clear Breakpoints from a Source Window ΓòÉΓòÉΓòÉ
  529.  
  530. You can set and clear breakpoints from a Source window in the following ways: 
  531.  
  532.      Toggle a breakpoint on or off for a line. There are three ways to do 
  533.       this: 
  534.  
  535.         -  Double-click on the prefix area for that line 
  536.  
  537.         -  Highlight the line using either the up and down cursor keys or the 
  538.            mouse, then press the space bar 
  539.  
  540.         -  Highlight the line, then select Breakpoints->Toggle at current line. 
  541.  
  542.      From the prefix area, or while the pointer is over a function name, click 
  543.       on mouse button 2 [note] and select a breakpoint option from the popup 
  544.       menu 
  545.  
  546.      Open a Breakpoints List window, and set or clear the breakpoint from 
  547.       there 
  548.  
  549.      Select a type of breakpoint from the Breakpoints menu, and enter the 
  550.       appropriate information. 
  551.  
  552.  Note: Clearing a breakpoint deletes it, meaning that you must recreate it if 
  553.  you want to use it again. If you plan to use a breakpoint again later, it is 
  554.  better to disable the breakpoint instead. 
  555.  
  556.  Related Information 
  557.  
  558.  Procedures 
  559.  Enable and Disable Breakpoints 
  560.  
  561.  
  562. ΓòÉΓòÉΓòÉ 1.3.3. Set Function Breakpoints from the Session Control Window ΓòÉΓòÉΓòÉ
  563.  
  564. You can set function breakpoints in the Session Control window by either of the 
  565. following methods: 
  566.  
  567.      Go to the Breakpoints menu and choose Set function breakpoint 
  568.  
  569.      Select a function in the Components pane, click mouse button 2 to bring 
  570.       up a popup menu, and choose Set function breakpoint. 
  571.  
  572.  Related Information 
  573.  
  574.  Procedures 
  575.  Set Breakpoints 
  576.  
  577.  
  578. ΓòÉΓòÉΓòÉ 1.3.4. Set a Deferred Breakpoint ΓòÉΓòÉΓòÉ
  579.  
  580. A deferred breakpoint is a breakpoint set in a compile unit that is not 
  581. currently loaded. 
  582.  
  583. To set a deferred line breakpoint, do the following: 
  584.  
  585.    1. Open a Line breakpoint dialog in one of the following ways: 
  586.  
  587.           From a Source window or the Session Control window, select 
  588.            Breakpoints->Set line 
  589.  
  590.           From a Breakpoint List window, select Set->Set line. 
  591.  
  592.    2. Enter an asterisk (*) in the Executable field, or the name of the load 
  593.       module if the compile unit is not in the main load module. 
  594.  
  595.    3. Enter the line number where you want the breakpoint set 
  596.  
  597.    4. Specify any additional information you wish in the Optional Parameters 
  598.       group box. 
  599.  
  600.    5. Check the Defer breakpoint check box. 
  601.  
  602.    6. Click on OK or press Enter. 
  603.  
  604.  You can set function breakpoints in a similar manner. 
  605.  
  606.  Related Information 
  607.  
  608.  Procedures 
  609.  Start Debugging a Compile Unit from a Load Occurrence Breakpoint Dialog 
  610.  Start Debugging a Compile Unit from the Session Control Window 
  611.  
  612.  
  613. ΓòÉΓòÉΓòÉ 1.4. Run or Step Through a Program ΓòÉΓòÉΓòÉ
  614.  
  615. You can use debugger toolbar buttons, accelerator keys, and menu commands to 
  616. accomplish the following subtasks: 
  617.  
  618.      Run your program 
  619.  
  620.      Step through your program 
  621.  
  622.  
  623. ΓòÉΓòÉΓòÉ 1.4.1. Run a Program ΓòÉΓòÉΓòÉ
  624.  
  625. After you have set appropriate breakpoints in your program, you are ready to 
  626. issue the Run command. The debugger runs the program from the current line to 
  627. the first enabled breakpoint it encounters and a Source window displays the 
  628. current line. You can then examine the contents of storage, variables, the call 
  629. stack, or processor registers; step through your program; or issue the Run 
  630. command again to run to the next enabled breakpoint. 
  631.  
  632. Related Information 
  633.  
  634. Procedures 
  635. Set Breakpoints 
  636. Step through a Program 
  637. View Variables, Memory, Registers, and the Stack 
  638.  
  639.  
  640. ΓòÉΓòÉΓòÉ 1.4.2. Step through a Program ΓòÉΓòÉΓòÉ
  641.  
  642. Use the Step Over and Step Into commands to step through your program one 
  643. statement at a time. For statements that do not contain  a subroutine call or 
  644. method invocation,  these commands work in exactly the same way. The current 
  645. statement is executed. Then, if the next statement is on a different line, the 
  646. debugger moves the current line in the current Source window to the next 
  647. executable line (comment and blank lines are skipped). If the next statement is 
  648. on the same line, the debugger does not reposition the current line. 
  649.  
  650. The Step Over command works differently from the Step Into command, for 
  651. statements that call subroutines and invoke methods: with function calls: 
  652.  
  653.      When you issue a Step Over command, the debugger runs through all 
  654.       functions called from within the line, the called routine or function, 
  655.       and execution stops at the next line in the Source window you issued the 
  656.       Step Over command from. (If the debugger encounters an enabled breakpoint 
  657.       in a called function, execution stops at that breakpoint.) 
  658.  
  659.      When you issue a Step Into command, the debugger stops at the next 
  660.       statement for which debug information is available. This statement is the 
  661.       first statement of the called function, if that function was compiled 
  662.       with debug information. If not, it is the first statement in another 
  663.       function further down the call, if a function within the call has debug 
  664.       information. If neither the called function nor any function it calls was 
  665.       compiled with debug information, the debugger stops at the statement 
  666.       following the call. 
  667.  
  668.  When you are inside a function and want to return to the code that issued the 
  669.  call, you can use the Step Return command. If the debugger can determine a 
  670.  return address, it runs the program up to but excluding the statement 
  671.  immediately after the one containing the call. 
  672.  
  673.  
  674. ΓòÉΓòÉΓòÉ 1.4.3. Terminate a Debug Session ΓòÉΓòÉΓòÉ
  675.  
  676. To terminate a debug session and exit the debugger, do one of the following: 
  677.  
  678.      Select File->Close debugger from any debugger window that has a File 
  679.       menu. 
  680.  
  681.      Press F3 from any debugger window that is not a dialog 
  682.  
  683.      Switch to the Session Control window and use your windowing system's 
  684.       technique for closing that window. For example, OS/2 and Windows 
  685.       operating systems, double-click on the upper left corner of the window or 
  686.       press Alt+F4. 
  687.  
  688.  
  689. ΓòÉΓòÉΓòÉ 1.5. Debug Variable Contents and Memory ΓòÉΓòÉΓòÉ
  690.  
  691. Choose from among the following subtasks: 
  692.  
  693.      Change the contents of storage 
  694.  
  695.      View a location in storage 
  696.  
  697.      Add expressions and variables to a monitor 
  698.  
  699.      Open a new storage monitor 
  700.  
  701.      View variables, memory, registers, and the stack 
  702.  
  703.  
  704. ΓòÉΓòÉΓòÉ 1.5.1. Change the Contents of Storage, Variables, and Registers ΓòÉΓòÉΓòÉ
  705.  
  706. To change the contents of storage in a Storage monitor, do the following: 
  707.  
  708.    1. Raise or open a Storage monitor (select Storage monitor from the Monitors 
  709.       menu of the Source or Session Control windows, or press Ctrl+G, or click 
  710.       on the  button) 
  711.  
  712.    2. If the address whose contents you want to change is not shown, use the 
  713.       PageUp and PageDown keys to scroll to that address, or click on an entry 
  714.       in the address column and enter a new address 
  715.  
  716.    3. Double-click on an entry in a data column in the monitor (or click on the 
  717.       entry and press Enter) 
  718.  
  719.    4. Type a value that is valid for the shown representation 
  720.  
  721.    5. Press Enter. 
  722.  
  723.  To change the contents of a variable in a Local Variables, Program, Private, 
  724.  or Popup monitor, or a register in the Registers monitor, do the following: 
  725.  
  726.    1. Raise or open the appropriate monitor (from the Monitors menu of a Source 
  727.       window or the Session Control window, or using the appropriate 
  728.       accelerator key or toolbar button) 
  729.  
  730.    2. Double-click on the entry field that shows the contents of the variable 
  731.       or register you want to change 
  732.  
  733.    3. Type a value that is valid for the current representation of that 
  734.       variable or register 
  735.  
  736.    4. Press Enter. 
  737.  
  738.  Related Information 
  739.  
  740.  Reference 
  741.  Values that Are Valid for the Current Representation 
  742.  
  743.  
  744. ΓòÉΓòÉΓòÉ 1.5.1.1. Use the Registers Monitor ΓòÉΓòÉΓòÉ
  745.  
  746. Here are some of the common tasks you can perform from the Registers monitor: 
  747.  
  748.      Change the contents of registers 
  749.  
  750.      Change what kinds of registers are displayed 
  751.  
  752.  
  753. ΓòÉΓòÉΓòÉ 1.5.1.1.1. View the Contents of Registers ΓòÉΓòÉΓòÉ
  754.  
  755. You may want to view the contents of a single register, or of many registers at 
  756. once. 
  757.  
  758. View Contents of a Single Register 
  759.  
  760. If you only want to view the contents of a small number of registers, enter the 
  761. names of those registers as expressions in a Monitor Expression dialog and 
  762. select what monitor you want them to appear in. For example, if you want to 
  763. monitor the EAX register on an Intel machine, do the following: 
  764.  
  765.    1. From a Source window, select Monitors->Monitor expression from the menu 
  766.       bar, or press the Ctrl+M accelerator key, to open a Monitor expression 
  767.       dialog. 
  768.  
  769.    2. Enter the register name as the expression (EAX) 
  770.  
  771.    3. Choose what monitor you want the expression to appear in. Do not choose 
  772.       the storage monitor. 
  773.  
  774.    4. Click on the OK button or press Enter. 
  775.  
  776.  The register is displayed in the monitor you selected. Note that if the name 
  777.  of the register corresponds to the name of a variable in your program, the 
  778.  variable may be displayed instead of the register depending on the monitor you 
  779.  choose, the current scope, and the scope of the variable. 
  780.  
  781.  View Contents of Many Registers at Once 
  782.  
  783.  If you want to open a monitor showing the contents of all or most processor 
  784.  registers, do the following: 
  785.  
  786.    1. Raise a Source window or the Session Control window 
  787.  
  788.    2. Select Monitors->Registers or click on the  pushbutton. 
  789.  
  790.    3. A Registers Monitor displays the contents of processor registers for the 
  791.       current thread. 
  792.  
  793.  Related Information 
  794.  
  795.  Procedures 
  796.  Add Expressions and Variables to a Monitor 
  797.  Change the Contents of Registers 
  798.  Change Which Registers Are Displayed 
  799.  Use the Registers Monitor 
  800.  
  801.  Concepts 
  802.  Introduction to the Registers Monitor 
  803.  
  804.  
  805. ΓòÉΓòÉΓòÉ 1.5.1.1.2. Change Which Registers Are Displayed ΓòÉΓòÉΓòÉ
  806.  
  807. You can choose what groups of registers are displayed in the Registers monitor 
  808. by selecting Options->Display style. In the dialog that appears, select what 
  809. items you want to display. 
  810.  
  811. Related Information 
  812.  
  813. Concepts 
  814. Introduction to the Registers Monitor 
  815.  
  816. Procedures 
  817. Change the Contents of Registers 
  818. View the Contents of Registers 
  819.  
  820. Reference 
  821. Registers Monitor Split Bars 
  822.  
  823.  
  824. ΓòÉΓòÉΓòÉ 1.5.1.1.3. Change the Contents of Registers ΓòÉΓòÉΓòÉ
  825.  
  826. Caution: Changing the contents of registers that affect program flow (for 
  827. example, registers used to manipulate the stack) can destabilize the program 
  828. you are debugging and may cause it to terminate abnormally. 
  829.  
  830. You can change the contents of most registers in the Registers monitor as 
  831. follows: 
  832.  
  833.    1. Either double-click on the current value of the register or move the 
  834.       cursor to that register and press Enter. 
  835.  
  836.    2. Type in a new value, and press Enter. 
  837.  
  838.  If updating of the register is allowed and your entry can be evaluated to a 
  839.  value the register supports, the register is updated. 
  840.  
  841.  Note: On OS/390, you cannot change the contents of the IAR (Instruction 
  842.  Address Register) register, which displays the currently executing 
  843.  instruction's address. 
  844.  
  845.  Related Information 
  846.  
  847.  Reference 
  848.  Valid Entries for Registers 
  849.  Expressions Supported 
  850.  
  851.  
  852. ΓòÉΓòÉΓòÉ 1.5.2. Add Expressions and Variables to a Monitor ΓòÉΓòÉΓòÉ
  853.  
  854. From the Source window, you can add a variable or expression to a monitor, so 
  855. that you can keep track of how the variable's contents or the expression's 
  856. value changes during program execution. You can use any of the following 
  857. methods: 
  858.  
  859.      Position the pointer over the variable, click mouse button 2 [note], and 
  860.       select the monitor you want from the popup menu. 
  861.  
  862.      Highlight the variable or expression, then select Monitors->Monitor 
  863.       expression. A dialog opens containing the variable or expression; select 
  864.       a monitor from there. 
  865.  
  866.      Select Monitors->Monitor expression. In the dialog, enter the variable or 
  867.       expression and choose a monitor. 
  868.  
  869.      Double-click on a variable to add it to the Program monitor. 
  870.  
  871.  Related Information 
  872.  
  873.  Reference 
  874.  Expressions Supported 
  875.  
  876.  
  877. ΓòÉΓòÉΓòÉ 1.5.3. Open a New Storage Monitor ΓòÉΓòÉΓòÉ
  878.  
  879. You can bring up a new Storage monitor in a number of ways: 
  880.  
  881.      Click on the  toolbar button from a Source window or the Session Control 
  882.       window. 
  883.  
  884.      Select Monitors->Storage from a Source window or the Session Control 
  885.       window. 
  886.  
  887.      Highlight an expression in a Source window, click mouse button 2 [note], 
  888.       and select Add to storage monitor from the popup menu. 
  889.  
  890.      Select Monitors->Monitor expression from a Source window or the Session 
  891.       Control window, enter the expression you want to monitor, and select the 
  892.       Storage monitor radio button. 
  893.  
  894.  A new storage monitor opens each time you do one of the above, even if you 
  895.  already opened another storage monitor for the same Source window, variable or 
  896.  expression. 
  897.  
  898.  Related Information 
  899.  
  900.  Procedures 
  901.  Open Other Debugger Windows 
  902.  Change the Storage Monitor Address Range 
  903.  
  904.  
  905. ΓòÉΓòÉΓòÉ 1.5.4. View Variables, Memory, Registers, and the Stack ΓòÉΓòÉΓòÉ
  906.  
  907. Follow one or more of the tasks below: 
  908.  
  909.      Add a variable or expression to a monitor so you can view or change its 
  910.       contents 
  911.  
  912.      View variable contents 
  913.  
  914.      View storage contents 
  915.  
  916.      View the contents of registers 
  917.  
  918.      View the contents of the call stack 
  919.  
  920.  
  921. ΓòÉΓòÉΓòÉ 1.5.4.1. View Variable Contents ΓòÉΓòÉΓòÉ
  922.  
  923. To view the contents of a variable you have already added to a monitor, do the 
  924. following: 
  925.  
  926.    1. Raise a window that contains a Windows menu (for example, a Source window 
  927.       or the Session Control window) 
  928.  
  929.    2. Select the monitor you added the variable to from that Windows menu. 
  930.  
  931.    3. If necessary, use the scroll bars or PageUp and PageDown keys to scroll 
  932.       the monitor until the variable is visible. 
  933.  
  934.    4. If necessary, change the representation of the variable: select its 
  935.       contents, click on mouse button 2, and select Next representation from 
  936.       the popup menu. 
  937.  
  938.  To view the contents of a variable you have not yet added to a monitor, do one 
  939.  of the following: 
  940.  
  941.      If the variable is in scope in the current Source window, select 
  942.       Monitors->Local variables from the menu bar of the Source window to open 
  943.       a Local variables monitor. This monitor should contain all local 
  944.       variables that are currently in scope. If the value of the variable you 
  945.       are looking for is blank, invalid, or incorrect, the variable may not 
  946.       currently be in scope. 
  947.  
  948.      Add the variable to a monitor (see under Procedures below). 
  949.  
  950.  Related Information 
  951.  
  952.  Procedures 
  953.  Add Expressions and Variables to a Monitor 
  954.  Debug Variable Contents and Memory 
  955.  
  956.  
  957. ΓòÉΓòÉΓòÉ 1.5.4.2. View a Location in Storage ΓòÉΓòÉΓòÉ
  958.  
  959. To view a particular location in storage (for example, the storage used by a 
  960. variable), either select Options->Monitor expression from the Storage monitor, 
  961. or open a new Storage monitor from a Source window or the Session Control 
  962. window, and specify an expression to monitor. See the Reference section below 
  963. for information on what types of expressions the debugger supports. 
  964.  
  965. COBOL: If a variable whose type is other than POINTER is specified, the Storage 
  966. monitor opens at the address of that variable. For variables of type POINTER, 
  967. the storage monitor opens at the address contained in the variable. 
  968.  
  969. C++: To view the storage for a class object or a variable, specify the address 
  970. of the object or variable name by preceding the name with an ampersand (&). 
  971.  
  972. Related Information 
  973.  
  974. Reference 
  975. Expressions Supported 
  976.  
  977. Procedures 
  978. Change the Contents of Storage, Variables, and Registers 
  979. Add Expressions and Variables to a Monitor 
  980. Change the Representation of Storage 
  981.  
  982.  
  983. ΓòÉΓòÉΓòÉ 1.5.4.2.1. Change the Storage Monitor Address Range ΓòÉΓòÉΓòÉ
  984.  
  985. You can change the address range you want displayed in a Storage monitor to a 
  986. specified address. Double-click on an entry in one of the address columns (for 
  987. example, the 'Flat' column), or move the cursor to that entry and press Enter; 
  988. then enter a new address. You can also scroll through the range using the 
  989. cursor keys (including Page Up and Page Down), or using the scrollbar. 
  990.  
  991. If the debugger cannot determine the contents of storage at a particular 
  992. location, it displays the contents as a series of question marks (?). This can 
  993. occur when you display storage that your program does not own or when the 
  994. address range does not point to a valid storage area. 
  995.  
  996. If you want to view the storage associated with a different variable, adding 
  997. that variable to a new Storage monitor is easier because the debugger 
  998. determines the variable's address in storage for you. You may want to close the 
  999. old Storage monitor first if its contents are no longer needed. 
  1000.  
  1001. Related Information 
  1002.  
  1003. Procedures 
  1004. Add Expressions and Variables to a Monitor 
  1005. Change the Contents of Storage, Variables, and Registers 
  1006. Change the Representation of Storage 
  1007. Open a New Storage Monitor 
  1008. View a Location in Storage 
  1009.  
  1010. Concepts 
  1011. Introduction to the Storage Monitor 
  1012.  
  1013.  
  1014. ΓòÉΓòÉΓòÉ 1.5.4.2.2. Change the Representation of Storage ΓòÉΓòÉΓòÉ
  1015.  
  1016. To change the representation of storage in the Storage monitor, do one of the 
  1017. following: 
  1018.  
  1019.      Select a representation from Options->Display style, OR 
  1020.  
  1021.      Click on the appropriate display style toolbar button: . 
  1022.  
  1023.  The change in representation does not affect any other open storage monitors, 
  1024.  only the one in which you make the change. 
  1025.  
  1026.  Related Information 
  1027.  
  1028.  Procedures 
  1029.  Change the Contents of Storage, Variables, and Registers 
  1030.  Change the Storage Monitor Address Range 
  1031.  
  1032.  
  1033. ΓòÉΓòÉΓòÉ 1.5.4.3. View the Contents of the Call Stack ΓòÉΓòÉΓòÉ
  1034.  
  1035. You can view information for the active functions on a thread's stack. A 
  1036. function is on the stack from the time it is called until after it returns. 
  1037.  
  1038. To view stack information for functions, open or raise a Call Stack window in 
  1039. one of the following ways: 
  1040.  
  1041.      If a Call Stack monitor is already open, access it from the Windows menu 
  1042.       of any debugger window that contains this menu. 
  1043.  
  1044.      Select Monitors->Call stack from a Source or Session Control window, or 
  1045.       press the Ctrl+K accelerator key, or click on the  toolbar button. 
  1046.  
  1047.  Related Information 
  1048.  
  1049.  Procedures 
  1050.  Use the Call Stack Window 
  1051.  
  1052.  Concepts 
  1053.  Introduction to the Call Stack Window 
  1054.  
  1055.  
  1056. ΓòÉΓòÉΓòÉ 1.5.4.4. Use the Call Stack Window ΓòÉΓòÉΓòÉ
  1057.  
  1058. You can display functions in the Call Stack window in two orders: the order in 
  1059. which they were called, and the order in which they will return (in other 
  1060. words, with the most recently called function on top or on the bottom). To 
  1061. change the order, click on the Growth Direction button () or select Display 
  1062. style and change the setting of the Growth direction group box. 
  1063.  
  1064. To view the code for a function, position the pointer over the line for that 
  1065. function, and do one of the following: 
  1066.  
  1067.      Select the line and press Enter 
  1068.  
  1069.      Double-click with mouse button 1 
  1070.  
  1071.      Click mouse button 2 [note] and select View from the popup menu 
  1072.  
  1073.  A Source window appears containing the source for the function. If this 
  1074.  function is the current function, the current execution point is highlighted. 
  1075.  Otherwise, the line that called the next innermost function on the call stack 
  1076.  is highlighted. 
  1077.  
  1078.  You can select what type of information is displayed in the Call Stack window 
  1079.  by changing the display style. You can choose to display the program unit 
  1080.  name, call statement number, compilation date/time, and other information. 
  1081.  
  1082.  Related Information 
  1083.  
  1084.  Concepts 
  1085.  Introduction to the Call Stack Window 
  1086.  
  1087.  
  1088. ΓòÉΓòÉΓòÉ 1.6. Debug Logic and Program Flow ΓòÉΓòÉΓòÉ
  1089.  
  1090. To debug logic and program flow, you may need to perform the following 
  1091. subtasks: 
  1092.  
  1093.      Set, clear, enable, and disable breakpoints 
  1094.  
  1095.      Step through, run, or halt a program 
  1096.  
  1097.      Skip over sections of code using Jump to location commands 
  1098.  
  1099.      View the contents of variables, memory, registers, and the stack. 
  1100.  
  1101.  
  1102. ΓòÉΓòÉΓòÉ 1.6.1. Set, Clear, Enable, and Disable Breakpoints ΓòÉΓòÉΓòÉ
  1103.  
  1104. See the following subtasks: 
  1105.  
  1106.      Set breakpoints 
  1107.  
  1108.      Clear breakpoints 
  1109.  
  1110.      Enable and disable breakpoints 
  1111.  
  1112.      Modify breakpoint characteristics 
  1113.  
  1114.  
  1115. ΓòÉΓòÉΓòÉ 1.6.1.1. Set Breakpoints ΓòÉΓòÉΓòÉ
  1116.  
  1117. You can set breakpoints from the following windows: 
  1118.  
  1119.      Breakpoints List window 
  1120.  
  1121.      Source window 
  1122.  
  1123.      Session Control window (function breakpoints only) 
  1124.  
  1125.  Related Information 
  1126.  
  1127.  Procedures 
  1128.  Set Multiple Breakpoints 
  1129.  
  1130.  Concepts 
  1131.  Types of Breakpoints 
  1132.  Introduction to the Breakpoints List Window 
  1133.  
  1134.  
  1135. ΓòÉΓòÉΓòÉ 1.6.1.1.1. Set a Line Breakpoint ΓòÉΓòÉΓòÉ
  1136.  
  1137. You can set a line breakpoint from a Source window or from the Breakpoints List 
  1138. window. 
  1139.  
  1140. There are three ways to set a line breakpoint from the Source window: 
  1141.  
  1142.    1. Make sure the appropriate line is visible in the window (use the scroll 
  1143.       bar or cursor keys to locate it), then double-click on the line number in 
  1144.       the prefix area of the line. 
  1145.  
  1146.    2. Type the line number in the source window. A Line number dialog opens up. 
  1147.       The line number you entered is placed in the dialog entry field. Click on 
  1148.       the the Breakpoint button. 
  1149.  
  1150.    3. Select Breakpoints->Set line from the menu bar, and fill in appropriate 
  1151.       fields in the resulting Line breakpoint dialog box as described below for 
  1152.       the Breakpoints List window. 
  1153.  
  1154.  To set a line breakpoint in a Breakpoints List window, do the following: 
  1155.  
  1156.    1. Select Set->Line from the menu bar. 
  1157.  
  1158.    2. In the resulting Line breakpoint dialog box, enter the line number and 
  1159.       source file you want to place the breakpoint in. 
  1160.  
  1161.    3. Enter other conditions for your breakpoint, such as the frequency, if you 
  1162.       like. 
  1163.  
  1164.  Related Information 
  1165.  
  1166.  Procedures 
  1167.  Set Breakpoints 
  1168.  Set Breakpoints in the Breakpoints List Window 
  1169.  Set and Clear Breakpoints from a Source Window 
  1170.  
  1171.  Concepts 
  1172.  Types of Breakpoints 
  1173.  
  1174.  
  1175. ΓòÉΓòÉΓòÉ 1.6.1.1.2. Set Multiple Breakpoints ΓòÉΓòÉΓòÉ
  1176.  
  1177. You can set several breakpoints with the same optional parameters from a Type 
  1178. Breakpoint dialog, where Type corresponds to the type of breakpoint (Line, 
  1179. Function, Storage change, Load occurrence). To do this, follow these steps: 
  1180.  
  1181.    1. From the breakpoint dialog, enter the information for the first 
  1182.       breakpoint. Change any fields in the Optional Parameters section of the 
  1183.       window, as desired. 
  1184.  
  1185.    2. Click on Set. The settings are saved for the current breakpoint. 
  1186.  
  1187.    3. For each additional breakpoint, enter only the changed information (for 
  1188.       example, the new line number, new function name, new address), and again 
  1189.       click on Set. 
  1190.  
  1191.    4. After you have set the last breakpoint, click on Cancel to dismiss the 
  1192.       dialog. 
  1193.  
  1194.  Related Information 
  1195.  
  1196.  Procedures 
  1197.  Set Breakpoints 
  1198.  
  1199.  
  1200. ΓòÉΓòÉΓòÉ 1.6.1.2. Delete Breakpoints ΓòÉΓòÉΓòÉ
  1201.  
  1202. To delete all breakpoints at once, select Edit->Delete all from the Breakpoints 
  1203. List window. To delete individual breakpoints, position the pointer over the 
  1204. desired breakpoint, click on mouse button 2, and select Delete. 
  1205.  
  1206. When you delete a breakpoint, all information about it is lost. If you want to 
  1207. temporarily deactivate a breakpoint and activate it later, you should disable 
  1208. the breakpoint instead. 
  1209.  
  1210. Related Information 
  1211.  
  1212. Procedures 
  1213. Enable and Disable Breakpoints 
  1214.  
  1215.  
  1216. ΓòÉΓòÉΓòÉ 1.6.1.2.1. Delete All Breakpoints ΓòÉΓòÉΓòÉ
  1217.  
  1218. You can delete all breakpoints for your program from the Breakpoints List 
  1219. window in three ways: 
  1220.  
  1221.      Click on the  toolbar button 
  1222.  
  1223.      Select Delete all from the Edit menu 
  1224.  
  1225.      Position the pointer on a breakpoint in the list, click mouse button 2, 
  1226.       and select Delete all from the popup menu. 
  1227.  
  1228.  Once you have deleted all breakpoints, all information on them is lost. If you 
  1229.  want to temporarily prevent all breakpoints from stopping execution, but you 
  1230.  may need to activate them later, disable them instead, by selecting 
  1231.  Edit->Disable all. 
  1232.  
  1233.  Related Information 
  1234.  
  1235.  Procedures 
  1236.  Enable and Disable Breakpoints 
  1237.  
  1238.  
  1239. ΓòÉΓòÉΓòÉ 1.6.1.3. Enable and Disable Breakpoints ΓòÉΓòÉΓòÉ
  1240.  
  1241. You can disable a breakpoint so that it does not stop execution, and then later 
  1242. enable it again. The advantage of disabling a breakpoint instead of deleting it 
  1243. is that it is easier to enable a breakpoint than to recreate it. The debugger 
  1244. lets you: 
  1245.  
  1246.      Enable breakpoints one at a time 
  1247.  
  1248.      Disable breakpoints one at a time 
  1249.  
  1250.      Enable all breakpoints at once 
  1251.  
  1252.      Disable all breakpoints at once. 
  1253.  
  1254.  Related Information 
  1255.  
  1256.  Procedures 
  1257.  Delete Breakpoints 
  1258.  Set Breakpoints 
  1259.  
  1260.  
  1261. ΓòÉΓòÉΓòÉ 1.6.1.4. Modify Breakpoint Characteristics ΓòÉΓòÉΓòÉ
  1262.  
  1263. Note: Modifying breakpoints is not supported for OS/390 debugging. You can 
  1264. still enter values in the dialog, however when you click on OK or Set, a popup 
  1265. error message displays. To modify breakpoint characteristics for OS/390 
  1266. debugging, delete the breakpoint in question and add it again with the desired 
  1267. characteristics. 
  1268.  
  1269. You can change the following characteristics of a breakpoint: 
  1270.  
  1271.      Which threads the breakpoint applies to 
  1272.  
  1273.      How often the debugger should skip the breakpoint (the frequency) 
  1274.  
  1275.  You can also change the Required parameters fields for a breakpoint, which 
  1276.  amounts to deleting the existing breakpoint and setting a new one. 
  1277.  
  1278.  To change a breakpoint's characteristics, select the breakpoint in the 
  1279.  Breakpoints List window and choose Edit->Modify, or place your pointer over 
  1280.  the breakpoint, click mouse button 2, and select Modify. 
  1281.  
  1282.  A Type Breakpoint window opens, where Type corresponds to the type of 
  1283.  breakpoint (Line, Function, Storage change, Load occurrence), with the current 
  1284.  settings for the breakpoint already placed in the window's fields. For 
  1285.  information on individual fields within each window, see that window's help. 
  1286.  
  1287.  Related Information 
  1288.  
  1289.  Procedures 
  1290.  Set a Deferred Breakpoint 
  1291.  
  1292.  
  1293. ΓòÉΓòÉΓòÉ 1.6.2. Skip over Sections of Code ΓòÉΓòÉΓòÉ
  1294.  
  1295. You can change the current execution point in a debugging session to another 
  1296. location in the current Source window, so that certain lines are executed 
  1297. again, or are skipped over when they otherwise would not be. From within the 
  1298. Source window containing the current execution point, do the following: 
  1299.  
  1300.    1. Scroll to the line number you want to jump to, if it is not already 
  1301.       visible. 
  1302.  
  1303.    2. Issue the Jump to location command by doing one of the following: 
  1304.  
  1305.           Click on the prefix area for the line, click mouse button 1, and 
  1306.            select Jump to location from the popup menu 
  1307.  
  1308.           Select the line, then select Run->Jump to location from the menu bar 
  1309.  
  1310.           Select the line, then press the N key, which is the accelerator for 
  1311.            the Jump to location command. 
  1312.  
  1313.  Note that using Jump to location can cause unpredictable results if you jump 
  1314.  outside the current function, jump over code that has side-effects (for 
  1315.  example, calls to functions whose results are assigned to variables, or 
  1316.  functions that change the contents of variables passed by reference), or jump 
  1317.  into the middle of a block such as a for loop. 
  1318.  
  1319.  
  1320. ΓòÉΓòÉΓòÉ 2. Concepts Help for Debugger ΓòÉΓòÉΓòÉ
  1321.  
  1322.  The Debugger Online Help is divided into four types of information: 
  1323.  
  1324.      Procedures - how to perform a specific task or set of tasks 
  1325.  
  1326.      Reference - technical information you may need to understand how to 
  1327.       perform a task 
  1328.  
  1329.      User Interface - context-sensitive help pages displayed when you press F1 
  1330.       from within the debugger 
  1331.  
  1332.      Concepts - overview information you may need to understand basic 
  1333.       principles of debugging or components of the debugger interface 
  1334.  
  1335.  Concepts help is organized hierarchically; see the following main topics: 
  1336.  
  1337.      Main debugger windows 
  1338.  
  1339.      Monitors 
  1340.  
  1341.  
  1342. ΓòÉΓòÉΓòÉ 2.1. Main Debugger Windows ΓòÉΓòÉΓòÉ
  1343.  
  1344. You can get to help on the following debugger windows from here: 
  1345.  
  1346.      Source Window 
  1347.  
  1348.      Call Stack Window 
  1349.  
  1350.      Breakpoint List Window 
  1351.  
  1352.      Session Control Window 
  1353.  
  1354.  See also the following main help pages: 
  1355.  
  1356.      Dialogs 
  1357.  
  1358.      Monitor Windows 
  1359.  
  1360.      Other Help Topics 
  1361.  
  1362.  
  1363. ΓòÉΓòÉΓòÉ 2.1.1. Introduction to the Source Window ΓòÉΓòÉΓòÉ
  1364.  
  1365. The Source window displays the source code for the program you are debugging. 
  1366.  
  1367. You can either step through or run your program from the Source window. A step 
  1368. command lets you step through your program, usually one statement at a time. 
  1369. Step commands are useful for monitoring logic flow, and for seeing how 
  1370. variables, storage, registers, or the stack are affected by each line that you 
  1371. step through. The Run command runs your program up to the next breakpoint, or 
  1372. until an exception that is not handled occurs, or until the program ends. 
  1373.  
  1374. Breakpoints are markers you place in your program to tell the debugger to stop 
  1375. whenever execution reaches that point. For example, if a particular statement 
  1376. in your program is causing problems, you could set a breakpoint on the line 
  1377. containing the statement, then run your program. Execution stops at the 
  1378. breakpoint, before the statement is executed, and you can check the contents of 
  1379. variables, registers, storage, and the stack, then either step over the 
  1380. statement to see how the problem arises, or jump over the statement to 
  1381. temporarily circumvent the problem. 
  1382.  
  1383. Related Information 
  1384.  
  1385. Procedures 
  1386. Run a Program 
  1387. Run or Step Through a ProgramStep through a Program 
  1388. Set and Clear Breakpoints from a Source Window 
  1389.  
  1390. Reference 
  1391. When You Start Debugging 
  1392. Problems Getting a Source View 
  1393. Prefix Area 
  1394.  
  1395.  
  1396. ΓòÉΓòÉΓòÉ 2.1.2. Introduction to the Call Stack Window ΓòÉΓòÉΓòÉ
  1397.  
  1398. When one function calls another, information about the calling function is 
  1399. placed on the stack for the executing thread. The debugger examines the stack 
  1400. and the processor registers to determine all functions that have been called 
  1401. for that thread, and lists these functions in the Call Stack window. 
  1402.  
  1403. Each Call Stack window displays information for a single thread. The thread 
  1404. number is indicated in the window title. 
  1405.  
  1406. Related Information 
  1407.  
  1408. Procedures 
  1409. Use the Call Stack Window 
  1410.  
  1411.  
  1412. ΓòÉΓòÉΓòÉ 2.1.3. Introduction to the Breakpoints List Window ΓòÉΓòÉΓòÉ
  1413.  
  1414. Use the Breakpoints List window to view breakpoints for your program,  delete 
  1415. them, or add new ones. 
  1416.  
  1417. Related Information 
  1418.  
  1419. Procedures 
  1420. Set Breakpoints 
  1421. Delete Breakpoints 
  1422. Enable and Disable Breakpoints 
  1423. Modify Breakpoint Characteristics (not supported on OS/390) 
  1424. View Popup Choice 
  1425.  
  1426. Reference 
  1427. Breakpoints List Popup Menu 
  1428.  
  1429.  
  1430. ΓòÉΓòÉΓòÉ 2.1.3.1. Types of Breakpoints ΓòÉΓòÉΓòÉ
  1431.  
  1432. The debugger supports the following types of breakpoints: 
  1433.  
  1434.      Statement breakpoints are triggered before a statement at a particular 
  1435.       point is executed. 
  1436.  
  1437.      Function breakpoints are triggered when the function they apply to is 
  1438.       reached. 
  1439.  
  1440.      Storage change breakpoints are triggered when the storage within a 
  1441.       particular address range is written to. 
  1442.  
  1443.      Load occurrence breakpoints are triggered when a DLL or dynamically 
  1444.       loaded module is loaded into an application. This happens the first time 
  1445.       a reference is made to a function within the DLL or dynamically loaded 
  1446.       module. 
  1447.  
  1448.  Related Information 
  1449.  
  1450.  Procedures 
  1451.  Set Breakpoints 
  1452.  
  1453.  
  1454. ΓòÉΓòÉΓòÉ 2.1.4. Introduction to the Session Control Window ΓòÉΓòÉΓòÉ
  1455.  
  1456. The Session Control window is the control window of the debugger, and is 
  1457. displayed during the entire debugging session. It contains a status line that 
  1458. indicates what the debugger is doing (for example, Ready). 
  1459.  
  1460. The window is divided into two panes. The left pane, called the Threads pane, 
  1461. shows the active threads for the program, while the right pane, called the 
  1462. Components pane, shows the list of object files. You can resize these panes 
  1463. with the mouse by dragging the split bar between them to the left or right. 
  1464.  
  1465. Use the mouse or the cursor left and right keys to shift the focus between the 
  1466. panes. 
  1467.  
  1468. You can expand the items in these panes by clicking on the '+' to their left, 
  1469. and you can collapse them by clicking on the '-'. 
  1470.  
  1471. Related Information 
  1472.  
  1473. Reference 
  1474. Using the Threads Pane 
  1475. Using the Components Pane 
  1476.  
  1477.  
  1478. ΓòÉΓòÉΓòÉ 2.2. Monitors ΓòÉΓòÉΓòÉ
  1479.  
  1480. You can view help on the following debugger monitor windows: 
  1481.  
  1482.      Registers Monitor 
  1483.  
  1484.      Storage Monitor 
  1485.  
  1486.      Monitor Expression Dialog 
  1487.  
  1488.      Popup Monitor 
  1489.  
  1490.      Private Monitor 
  1491.  
  1492.      Program Monitor 
  1493.  
  1494.      Local Variables Monitor 
  1495.  
  1496.  Help is also available on the following monitor-related topics: 
  1497.  
  1498.      Popup Menus for Private and Program Monitors 
  1499.  
  1500.      Differences Between the Program and Private Monitors 
  1501.  
  1502.  See also the following main help pages: 
  1503.  
  1504.      Main Debugger Windows 
  1505.  
  1506.      Dialogs 
  1507.  
  1508.      Other Help Topics 
  1509.  
  1510.  
  1511. ΓòÉΓòÉΓòÉ 2.2.1. Introduction to the Program Monitor ΓòÉΓòÉΓòÉ
  1512.  
  1513. You can monitor variables and expressions from Source windows in the Program 
  1514. monitor. This monitor is not associated with any particular Source window, and 
  1515. remains open until you close it directly or exit the debugger. Use it to 
  1516. monitor global variables or variables you want to see at all times during your 
  1517. debugging session. 
  1518.  
  1519. You can open the Program monitor from a Source window by adding a variable or 
  1520. expression to the program monitor. 
  1521.  
  1522. From within the Program monitor, you can select one or more expressions or 
  1523. variables, and access a popup menu to apply changes to them. For example, you 
  1524. can delete an expression from the monitor, change its representation, or edit 
  1525. its contents. 
  1526.  
  1527. Expressions and variables that have a '+' on their left can be expanded, and 
  1528. those with a '-' can be collapsed. Arrays and C++ class objects, for example, 
  1529. are displayed by default in expanded format, with entries both for the array 
  1530. and for elements within it. To collapse the list of elements, or to expand a 
  1531. collapsed list, double-click on the '+' or '-', or place the cursor on that 
  1532. line and press the Enter key. 
  1533.  
  1534. C++ only: Pointers are displayed with a '>' on their left. You can change an 
  1535. array or class object to pointer representation by dereferencing it. You can 
  1536. display the value of the pointer, or the start of the memory it points to, by 
  1537. choosing a different representation for it. 
  1538.  
  1539. Related Information 
  1540.  
  1541. Procedures 
  1542. Add Expressions and Variables to a Monitor 
  1543.  
  1544.  
  1545. ΓòÉΓòÉΓòÉ 2.2.2. Introduction to the Private Monitor ΓòÉΓòÉΓòÉ
  1546.  
  1547. You can monitor variables and expressions from a given Source window in a 
  1548. Private monitor, which is associated with only that Source window. Private 
  1549. monitors help you keep track of local variables and expressions in programs 
  1550. with multiple compile units. They are particularly useful in cases where the 
  1551. number of variables or expressions is large, or where variables with the same 
  1552. name appear in different compilation units. 
  1553.  
  1554. You can open a Private monitor for a Source window by adding an expression or 
  1555. variable to the Private monitor from that Source window. 
  1556.  
  1557. From within a Private monitor, you can select one or more expressions or 
  1558. variables, and access a popup menu to apply changes to them. For example, you 
  1559. can delete an expression from the monitor, change its representation, or edit 
  1560. its contents. 
  1561.  
  1562. Expressions and variables that have a '+' on their left can be expanded, and 
  1563. those with a '-' can be collapsed. Arrays and C++ class objects, for example, 
  1564. are displayed by default in expanded format, with entries both for the array 
  1565. and for elements within it. To collapse the list of elements, or to expand a 
  1566. collapsed list, double-click on the '+' or '-', or place the cursor on that 
  1567. line and press the Enter key. 
  1568.  
  1569. C++ only: Pointers are displayed with a '>' on their left. You can change an 
  1570. array or class object to pointer representation by dereferencing it. You can 
  1571. display the value of the pointer, or the start of the memory it points to, by 
  1572. choosing a different representation for it. 
  1573.  
  1574. Related Information 
  1575.  
  1576. Procedures 
  1577. Add Expressions and Variables to a Monitor 
  1578.  
  1579.  
  1580. ΓòÉΓòÉΓòÉ 2.2.3. Differences between Program and Private Monitors ΓòÉΓòÉΓòÉ
  1581.  
  1582. The Program and Private monitors are very similar, but have the following 
  1583. differences: 
  1584.  
  1585.      The Program monitor can be used to monitor all variables, while a Private 
  1586.       monitor is associated with a single Source window. 
  1587.  
  1588.      The Program monitor remains open at all times unless you close it or exit 
  1589.       the debugger. A Private monitor closes whenever the Source window it is 
  1590.       associated with closes, and is hidden whenever its Source window becomes 
  1591.       inactive (for example, when a statement in that Source window returns 
  1592.       control to code in another Source window). 
  1593.  
  1594.      Because a Private monitor is associated with a specific Source window, 
  1595.       whose focus is raised whenever you select the monitor, it does not have a 
  1596.       Windows menu. 
  1597.  
  1598.  Related Information 
  1599.  
  1600.  Procedures 
  1601.  Add Expressions and Variables to a Monitor 
  1602.  Debug Variable Contents and Memory 
  1603.  View Variable Contents 
  1604.  
  1605.  
  1606. ΓòÉΓòÉΓòÉ 2.2.4. Introduction to the Local Variables Monitor ΓòÉΓòÉΓòÉ
  1607.  
  1608. You can monitor variables within the current scope of a Source window from the 
  1609. Local Variables monitor. This monitor is associated with a particular thread, 
  1610. and closes automatically when that thread terminates. It is updated, after each 
  1611. Step or Run command, to show what variables are currently in scope, and what 
  1612. the contents of those variables are. 
  1613.  
  1614. To open a Local Variables monitor for a given thread, highlight that thread in 
  1615. the Threads pane of the Session Control window, or raise the Source window for 
  1616. that thread; then choose Monitors->Local variables. 
  1617.  
  1618. From within a Local Variables monitor, you can select one or more variables, 
  1619. and access a popup menu to apply changes to them. For example, you can delete a 
  1620. variable from the monitor, change its representation, or edit its contents. 
  1621.  
  1622. Expressions and variables that have a '+' on their left can be expanded, and 
  1623. those with a '-' can be collapsed. Arrays and C++ class objects, for example, 
  1624. are displayed by default in expanded format, with entries both for the array 
  1625. and for elements within it. To collapse the list of elements, or to expand a 
  1626. collapsed list, double-click on the '+' or '-', or place the cursor on that 
  1627. line and press the Enter key. 
  1628.  
  1629. C++ only: Pointers are displayed with a '>' on their left. You can change an 
  1630. array or class object to pointer representation by dereferencing it. You can 
  1631. display the value of the pointer, or the start of the memory it points to, by 
  1632. choosing a different representation for it. 
  1633.  
  1634. Related Information 
  1635.  
  1636. Reference 
  1637. Private Monitor 
  1638. Program Monitor 
  1639. Popup Monitor 
  1640.  
  1641.  
  1642. ΓòÉΓòÉΓòÉ 2.2.5. Introduction to the Registers Monitor ΓòÉΓòÉΓòÉ
  1643.  
  1644. The Registers monitor shows the contents of processor registers for a 
  1645. particular thread in your program. If you are debugging multiple threads, you 
  1646. can display a separate Registers monitor for each thread. Although all threads 
  1647. share the same set of registers, the operating system saves the register 
  1648. contents of each thread as the thread is suspended, and restores that thread's 
  1649. processor contents when the thread resumes. 
  1650.  
  1651.  
  1652. ΓòÉΓòÉΓòÉ 2.2.6. Introduction to the Storage Monitor ΓòÉΓòÉΓòÉ
  1653.  
  1654. The Storage monitor lets you view and update the contents of storage areas used 
  1655. by your program. You can do the following: 
  1656.  
  1657.      Specify a variable, array, class object (C++ only), expression, or 
  1658.       storage address to view. 
  1659.  
  1660.      Change the address range to view 
  1661.  
  1662.      Modify the contents of storage 
  1663.  
  1664.      Change the representation the debugger uses to display storage, for 
  1665.       example, from hexadecimal to floating-point 
  1666.  
  1667.  You can open a new Storage monitor from a Source window or from the Session 
  1668.  Control window. 
  1669.  
  1670.  The title of each Storage monitor includes the variable name or address range 
  1671.  whose contents the window displays, as well as the current representation for 
  1672.  the window. 
  1673.  
  1674.  Related Information 
  1675.  
  1676.  Procedures 
  1677.  View a Location in Storage 
  1678.  Change the Storage Monitor Address Range 
  1679.  Change the Contents of Storage, Variables, and Registers 
  1680.  Change the Representation of Storage 
  1681.  Open a New Storage Monitor 
  1682.  
  1683.  
  1684. ΓòÉΓòÉΓòÉ 2.3. Expressions ΓòÉΓòÉΓòÉ
  1685.  
  1686. For information on what expressions you can enter in the Expression entry field 
  1687. of the Monitor Expression dialog or the Monitor Expression in Storage dialog, 
  1688. see the section on supported expressions for the language you are debugging: 
  1689.  
  1690.      C++ 
  1691.  
  1692.      COBOL 
  1693.  
  1694.  
  1695. ΓòÉΓòÉΓòÉ 2.4. Stopping Thread ΓòÉΓòÉΓòÉ
  1696.  
  1697. A stopping thread is the thread that caused the program being debugged to stop. 
  1698.  
  1699.  
  1700. ΓòÉΓòÉΓòÉ 2.5. Other Help Topics ΓòÉΓòÉΓòÉ
  1701.  
  1702. You can get to the following debugger help topics from here: 
  1703.  
  1704.      Common Menu Choices 
  1705.  
  1706.      Toolbar Buttons 
  1707.  
  1708.      Expressions Supported 
  1709.  
  1710.      Toolbar Short Cut Menu 
  1711.  
  1712.      Environment Variables 
  1713.  
  1714.      Search Order 
  1715.  
  1716.  See also the following main help pages: 
  1717.  
  1718.      Main Debugger Windows 
  1719.  
  1720.      Dialogs 
  1721.  
  1722.      Monitor Windows 
  1723.  
  1724.      Debugger Help Home Page 
  1725.  
  1726.  
  1727. ΓòÉΓòÉΓòÉ 2.5.1. Record of Directories ΓòÉΓòÉΓòÉ
  1728.  
  1729. The record of directories is a cumulative list of all directories you have 
  1730. entered in source path dialog boxes that opened when the debugger could not 
  1731. locate a source file. This list is only cumulative for the duration of the 
  1732. debugger session; when you exit the debugger, the list is not saved. 
  1733.  
  1734. The debugger assumes that any directory in the record of directories may be on 
  1735. either the debugger machine or the debuggee machine. 
  1736.  
  1737.  
  1738. ΓòÉΓòÉΓòÉ 3. Reference Help for Debugger ΓòÉΓòÉΓòÉ
  1739.  
  1740. The Debugger Online Help is divided into four types of information: 
  1741.  
  1742.      Procedures - how to perform a specific task or set of tasks 
  1743.  
  1744.      Reference - technical information you may need to understand how to 
  1745.       perform a task 
  1746.  
  1747.      User Interface - context-sensitive help pages displayed when you press F1 
  1748.       from within the debugger 
  1749.  
  1750.      Concepts - overview information you may need to understand basic 
  1751.       principles of debugging or components of the debugger interface 
  1752.  
  1753.  Reference help is organized hierarchically; see the following main topics: 
  1754.  
  1755.      When you start debugging 
  1756.  
  1757.      Debugging threads 
  1758.  
  1759.      Debugger options 
  1760.  
  1761.      Environment variables 
  1762.  
  1763.      Expressions supported 
  1764.  
  1765.      Problems Getting a Source View 
  1766.  
  1767.  
  1768. ΓòÉΓòÉΓòÉ 3.1. When You Start Debugging ΓòÉΓòÉΓòÉ
  1769.  
  1770. The first time you debug a program, the debugger raises the following windows: 
  1771.  
  1772.      A Source window. This window contains the source code of the compile unit 
  1773.       that contains the entry point for your program. If that compile unit was 
  1774.       not compiled with the TEST option, the Source window is not displayed. 
  1775.  
  1776.      The Session Control window. Use this window to access other windows, to 
  1777.       control the debugging of threads and functions, and to perform various 
  1778.       debugger commands. (Only a single thread is supported on COBOL programs.) 
  1779.  
  1780.  The DEBUG_LANG environment variable sets the dominant language for a debugging 
  1781.  session. The dominant language affects certain terminology (for example, 
  1782.  whether the C++ term function or the COBOL term entry point is used) in both 
  1783.  the user interface and the help. It also affects what choices are available on 
  1784.  certain dialogs and menus. The setting of DEBUG_LANG overrides the language of 
  1785.  the compilation unit being debugged; for example, if DEBUG_LANG=COBOL and you 
  1786.  step into a C++ function, the debugger's appearance continues to reflect a 
  1787.  dominant language of COBOL. Only the COBOL choice is available for debugging 
  1788.  OS/390 programs. 
  1789.  
  1790.  DEBUG_LANG=CPP The debugger runs up to the start of main. 
  1791.  
  1792.  DEBUG_LANG=COBOL The debugger runs up to the first debuggable statement in the 
  1793.            application. If no part of the application was compiled and linked 
  1794.            with debug information, the debugger displays a Source Filename 
  1795.            dialog, and ignores any file name you enter. You can then press 
  1796.            Cancel; only the Session Control window is displayed. From here you 
  1797.            issue a Run command and the program will run to completion. 
  1798.  
  1799.  The debugger starts after program initialization but before static (C++) or 
  1800.  symbolic (COBOL) variables have been initialized. This means that you cannot 
  1801.  view the contents of variables until you have performed a step or run. 
  1802.  
  1803.  When you start debugging a program for the first time,  no variables or 
  1804.  expressions are being monitored. During the debug session, you may add 
  1805.  variables or expressions to a local variables monitor. When you exit the 
  1806.  debugger,  local variables and expressions are saved in the program profile, 
  1807.  and will be activated the next time you debug this program. 
  1808.  
  1809.  
  1810. ΓòÉΓòÉΓòÉ 3.1.1. Stepping and Functions ΓòÉΓòÉΓòÉ
  1811.  
  1812. In a  line that contains multiple calls, you can choose to step over all the 
  1813. calls, or step through the calls individually. Given a complex C++ call such as 
  1814. func1( func2(), func3() );, you can do the following: 
  1815.  
  1816.      Step over the entire line with a single Step Over command. 
  1817.  
  1818.      Step through each called function with a series of Step Into commands. 
  1819.       You can then step through the function, or, to return to the original 
  1820.       statement so that you can step into the next function, issue a Step 
  1821.       Return command. 
  1822.  
  1823.  You can also use a combination of step commands and function breakpoints to 
  1824.  more finely control which functions called from a given line are stepped into 
  1825.  and which are stepped over. 
  1826.  
  1827.  Related Information 
  1828.  
  1829.  Procedures 
  1830.  Set and Clear Breakpoints from a Source Window 
  1831.  
  1832.  
  1833. ΓòÉΓòÉΓòÉ 3.2. Debugger Options ΓòÉΓòÉΓòÉ
  1834.  
  1835. The idbugd command on the workstation supports the following options: 
  1836.  
  1837.  -v        Display connection information. The default is not to display this 
  1838.            information. 
  1839.  
  1840.  -qdebugger=<debugger name> The debugger that the daemon will invoke. The 
  1841.            default is the name of the daemon without the last letter. For 
  1842.            example, if the daemon name is idbugd, the default debugger is 
  1843.            idbug. 
  1844.  
  1845.  -qservice=<service name> The service name that is used by the daemon to get 
  1846.            the port number. The default is the name of the daemon without the 
  1847.            last letter. 
  1848.  
  1849.  -qport=<port number> The port number that the daemon listens to for incoming 
  1850.            requests. If you do not specify a port, the daemon looks up the port 
  1851.            number for the specified service from the system services file on 
  1852.            the workstation (for example the file \etc\services). 
  1853.  
  1854.  
  1855. ΓòÉΓòÉΓòÉ 3.3. Compiler Options on OS/390 ΓòÉΓòÉΓòÉ
  1856.  
  1857. If you want to debug your program on OS/390, you must compile and link it as 
  1858. follows: 
  1859.  
  1860.      Compile with the TEST option. 
  1861.  
  1862.      Link an MVS load module. 
  1863.  
  1864.  For further details on the required compilation and linking options, see the 
  1865.  Debug Tool User's Guide and Reference 
  1866.  
  1867.  
  1868. ΓòÉΓòÉΓòÉ 3.4. Environment Variables ΓòÉΓòÉΓòÉ
  1869.  
  1870. The debugger uses the following environment variables. If you want to place 
  1871. multiple entries in any of the variables that contain path names, separate the 
  1872. entries with a semicolon. 
  1873.  
  1874.      DEBUG_LANG 
  1875.  
  1876.      DEBUG_NUMBEROFELEMENTS 
  1877.  
  1878.      DEBUG_REMOTE_SEARCH_PATH 
  1879.  
  1880.      DEBUG_TAB 
  1881.  
  1882.      DEBUG_TABGRID 
  1883.  
  1884.      DPATH 
  1885.  
  1886.      LIBPATH (OS/2 only) 
  1887.  
  1888.      HELP 
  1889.  
  1890.      PATH 
  1891.  
  1892.     
  1893.  
  1894.  You should also ensure that the Debug Tool load library is available. See the 
  1895.  Debug Tool User's Guide for more information. 
  1896.  
  1897.  Related Information 
  1898.  
  1899.  Procedures 
  1900.  Set Environment Variables for the Debugger 
  1901.  
  1902.  
  1903. ΓòÉΓòÉΓòÉ 3.4.1. DEBUG_LANG Environment Variable ΓòÉΓòÉΓòÉ
  1904.  
  1905. The DEBUG_LANG environment variable sets the dominant language for a debugging 
  1906. session. The dominant language affects certain terminology (for example, 
  1907. whether the C++ term function or the COBOL term entry point is used) in both 
  1908. the user interface and the help. It also affects what choices are available on 
  1909. certain dialogs and menus. 
  1910.  
  1911. The setting of DEBUG_LANG overrides the language of the compile unit being 
  1912. debugged; for example, if DEBUG_LANG=COBOL and you step into a C++ function, 
  1913. the debugger's appearance continues to reflect a dominant language of COBOL. 
  1914. Available choices are: 
  1915.  
  1916.  CPP       The dominant language is C++. If DEBUG_LANG is not set, this is the 
  1917.            default. 
  1918.  
  1919.  COBOL     The dominant language is COBOL. The VisualAge for COBOL product sets 
  1920.            DEBUG_LANG to COBOL at installation. 
  1921.  
  1922.   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1923.   ΓöéValue of DEBUG_LANG      ΓöéCPP                      ΓöéCOBOL                    Γöé
  1924.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1925.   Γöé'Entry' vs. 'Function'   ΓöéThe term 'function' is   ΓöéThe term 'entry' is used.Γöé
  1926.   Γöéused in dialogs and      Γöéused                     Γöé                         Γöé
  1927.   Γöéwindows to indicate a C++Γöé                         Γöé                         Γöé
  1928.   Γöéfunction or a COBOL or   Γöé                         Γöé                         Γöé
  1929.   ΓöéPL/I entry point         Γöé                         Γöé                         Γöé
  1930.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1931.   ΓöéHeap checking            ΓöéYou can perform heap     ΓöéHeap checking is not     Γöé
  1932.   Γöé                         Γöéchecks using Run->Check  Γöéavailable.               Γöé
  1933.   Γöé                         Γöéheap when stopping       Γöé                         Γöé
  1934.   ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1935.  
  1936.      Debugger settings, such as default fonts, changed when one dominant 
  1937.       language is in effect are not applied to the debugger when the other 
  1938.       dominant language is in effect 
  1939.  
  1940.      Step commands in a source view may behave differently in certain 
  1941.       situations. 
  1942.  
  1943.  Related Information 
  1944.  
  1945.  Reference 
  1946.  Environment Variables 
  1947.  
  1948.  
  1949. ΓòÉΓòÉΓòÉ 3.4.2. DEBUG_NUMBEROFELEMENTS Environment Variable ΓòÉΓòÉΓòÉ
  1950.  
  1951. The DEBUG_NUMBEROFELEMENTS environment variable can be set to an integer value, 
  1952. to tell the debugger the maximum number of elements to display for an array, 
  1953. structure, or object in a Program, Private, Local Variables, or Popup monitor. 
  1954.  
  1955. Related Information 
  1956.  
  1957. Reference 
  1958. Environment Variables 
  1959.  
  1960.  
  1961. ΓòÉΓòÉΓòÉ 3.4.3. DEBUG_REMOTE_SEARCH_PATH Environment Variable ΓòÉΓòÉΓòÉ
  1962.  
  1963. The DEBUG_REMOTE_SEARCH_PATH environment variable is used to search partitioned 
  1964. data sets on the remote host for a requested source file. If more than one PDS 
  1965. is specified, the names must be separated by a semicolon. 
  1966.  
  1967. Related Information 
  1968.  
  1969. Reference 
  1970. Environment Variables 
  1971. Search Order 
  1972.  
  1973.  
  1974. ΓòÉΓòÉΓòÉ 3.4.4. DEBUG_TAB Environment Variable ΓòÉΓòÉΓòÉ
  1975.  
  1976. The DEBUG_TAB environment variable affects how the debugger expands tab 
  1977. characters in  a Source window, when DEBUG_TABGRID is set to 0 (or is not set). 
  1978. The value for this variable is an integer, indicating the number of spaces to 
  1979. convert a tab character into.Unlike DEBUG_TABGRID, DEBUG_TAB does not cause the 
  1980. debugger to place tabbed information in specific columns; it simply results in 
  1981. each tab in the displayed files being converted to the indicated number of 
  1982. spaces. 
  1983.  
  1984. Related Information 
  1985.  
  1986. Reference 
  1987. DEBUG_TABGRID Environment Variable 
  1988.  
  1989.  
  1990. ΓòÉΓòÉΓòÉ 3.4.5. DEBUG_TABGRID Environment Variable ΓòÉΓòÉΓòÉ
  1991.  
  1992. The DEBUG_TABGRID environment variable affects how the debugger uses tab 
  1993. characters to align tabs to columns in  a Source window. The value of this 
  1994. variable is an integer indicating the starting position and frequency of the 
  1995. tab. For example, if you set DEBUG_TABGRID=6, the debugger sets tab stops at 6, 
  1996. 12, 18, 24, and so on. If DEBUG_TABGRID is set to a nonzero value, the setting 
  1997. of DEBUG_TAB has no effect. 
  1998.  
  1999. Related Information 
  2000.  
  2001. Reference 
  2002. Environment Variables 
  2003. DEBUG_TAB Environment Variable 
  2004.  
  2005.  
  2006. ΓòÉΓòÉΓòÉ 3.4.6. LIBPATH Environment Variable (OS/2 Only) ΓòÉΓòÉΓòÉ
  2007.  
  2008. The LIBPATH environment variable tells the debugger where to look for debugger 
  2009. DLLs on the workstation. The LIBPATH environment variable must be set from 
  2010. within CONFIG.SYS; you cannot set it using the SET command. 
  2011.  
  2012. Related Information 
  2013.  
  2014. Reference 
  2015. Environment Variables 
  2016.  
  2017.  
  2018. ΓòÉΓòÉΓòÉ 3.4.7. Other Environment Variables ΓòÉΓòÉΓòÉ
  2019.  
  2020. The debugger also uses the following standard environment variables on the 
  2021. Windows or OS/2 workstation. These variables all contain one or more directory 
  2022. names separated by semicolons: 
  2023.  
  2024. PATH 
  2025.  
  2026. The PATH environment variable is used to locate the debugger executable , as 
  2027. well as any other executables being run on the workstation. On Windows 
  2028. platforms the PATH environment variable is also used to locate DLLs. 
  2029.  
  2030. DPATH 
  2031.  
  2032. The DPATH environment variable is used to locate message files, which the 
  2033. debugger needs to display messages and the text of menus and dialogs. 
  2034.  
  2035. HELP 
  2036.  
  2037. The HELP environment variable is used to locate the online help files for the 
  2038. debugger. 
  2039.  
  2040. Related Information 
  2041.  
  2042. Reference 
  2043. Environment Variables 
  2044.  
  2045.  
  2046. ΓòÉΓòÉΓòÉ 3.4.8. Search Order ΓòÉΓòÉΓòÉ
  2047.  
  2048. The debugger searches for C++ source files for an OS/390 debuggee program in 
  2049. the following locations: 
  2050.  
  2051.    1. The specified PDS or sequential file on the host 
  2052.  
  2053.    2. The current directory of the debugger machine 
  2054.  
  2055.    3. The record of directories on the debugger machine 
  2056.  
  2057.    4. Paths in the DEBUG_PATH environment variable on the debugger machine 
  2058.  
  2059.  If the source file cannot be located in any of the above directories, a dialog 
  2060.  box opens requesting the path name for the source file. The path name you 
  2061.  enter is searched for on the debugger machine. This path name is also added to 
  2062.  the record of directories to be used in future searches. 
  2063.  
  2064.  Related Information 
  2065.  
  2066.  Concepts 
  2067.  Record of Directories 
  2068.  
  2069.  
  2070. ΓòÉΓòÉΓòÉ 3.5. Expressions Supported ΓòÉΓòÉΓòÉ
  2071.  
  2072. The expressions you can enter in an expression entry field (for example, in a 
  2073. Monitor Expression dialog or a Set breakpoint dialog) are different for each 
  2074. language the debugger supports. See the following for more information: 
  2075.  
  2076.      Supported C++ expressions 
  2077.  
  2078.      Supported COBOL expressions 
  2079.  
  2080.  Related Information 
  2081.  
  2082.  Concepts 
  2083.  Expressions 
  2084.  
  2085.  
  2086. ΓòÉΓòÉΓòÉ 3.5.1. COBOL Expressions Supported ΓòÉΓòÉΓòÉ
  2087.  
  2088. You can enter the following types of COBOL expressions in an expression entry 
  2089. field: 
  2090.  
  2091. Variable: A variable used in your program. The following can be specified with 
  2092. COBOL variables: 
  2093.  
  2094.      Group qualification (for example, A OF B OF C) 
  2095.  
  2096.      Table subscripting (for example, A(1, 2, 3)) Note that only constants can 
  2097.       be specified for array indices (no variables or operators). 
  2098.  
  2099.      Reference modification (for example, A(1:2)) Note that reference 
  2100.       modification is not allowed for group names. Also, only constants can be 
  2101.       specified for the reference modification begin and length values (no 
  2102.       variables or operators). 
  2103.  
  2104.  Notes 
  2105.  
  2106.    1. COBOL condition names cannot be specified. 
  2107.  
  2108.    2. Operators (for example, A + B) are not allowed. 
  2109.  
  2110.    3. The value displayed for COBOL index names and data items is the actual 
  2111.       value in storage. For example, if INM is an index name for a 
  2112.       one-dimensional table whose elements are two bytes wide and INM is set to 
  2113.       reference the third element in the table, the value shown by the debugger 
  2114.       (i.e., the value in storage) would be 4. 
  2115.  
  2116.  Constant: The constant can be one of the following types: 
  2117.  
  2118.      Fixed or floating-point constant 
  2119.  
  2120.      A string constant, enclosed in double or single quotation marks (for 
  2121.       example, 'string' or 'string') 
  2122.  
  2123.      Hexadecimal constant (for example, X'0041014D'). Note that the number of 
  2124.       bytes represented by the hexadecimal constant must be equal to the number 
  2125.       of bytes of the corresponding variable in assignment or comparison. 
  2126.  
  2127.  Note: In a COBOL constant, the period is always used as the decimal point 
  2128.  (i.e., the DECIMAL-POINT IS COMMA clause is ignored by the debugger). COBOL 
  2129.  figurative constants are not supported by the debugger. 
  2130.  
  2131.  Register: Any of the processor registers that can be displayed in the 
  2132.  Registers Monitor. In the case of conflicting names, program variable names 
  2133.  take precedence over register names. 
  2134.  
  2135.  Expressions Supported in Conditional Breakpoints 
  2136.  
  2137.  Expressions supported by the expression conditions in conditional breakpoints 
  2138.  are further limited in the following ways: 
  2139.  
  2140.      Only the relation condition is supported, with the following operators: 
  2141.       >, <, =, >=, <=, NOT >, NOT <, NOT = 
  2142.  
  2143.      The left operand must be a variable and the right operand must be a 
  2144.       constant. For example, var1 > 5 is valid, while 5 < var1 and var1 > var2 
  2145.       are not. 
  2146.  
  2147.      The hexadecimal constant is allowed only with POINTER variables. 
  2148.  
  2149.      Nonnumeric and external floating point variables must be compared with a 
  2150.       nonnumeric literal. 
  2151.  
  2152.      Zoned decimal variables must be compared with a numeric constant. 
  2153.  
  2154.      Complex conditions and group comparisons are not allowed. 
  2155.  
  2156.      Comparison is locale-based, independent of any COLLSEQ compile option or 
  2157.       collating sequence specification within the program. 
  2158.  
  2159.  
  2160. ΓòÉΓòÉΓòÉ 3.5.2. C++ Expressions Supported ΓòÉΓòÉΓòÉ
  2161.  
  2162. The expression language that is supported by the debugger for C++ programs is a 
  2163. subset of the C/C++ language. You can only monitor expressions with: 
  2164.  
  2165.      A supported operand type 
  2166.  
  2167.      A supported operator 
  2168.  
  2169.      A supported typecasting operation 
  2170.  
  2171.  
  2172. ΓòÉΓòÉΓòÉ 3.5.2.1. C++ Supported Data Types ΓòÉΓòÉΓòÉ
  2173.  
  2174. You can monitor an expression that uses the following typecasting operations 
  2175. only: 
  2176.  
  2177.      8-bit signed byte 
  2178.  
  2179.      8-bit unsigned byte 
  2180.  
  2181.      16-bit signed integer 
  2182.  
  2183.      16-bit unsigned integer 
  2184.  
  2185.      32-bit signed integer 
  2186.  
  2187.      32-bit unsigned integer 
  2188.  
  2189.      Single-precision floating-point floating-point 
  2190.  
  2191.      Double-precision floating-point floating-point 
  2192.  
  2193.      80-bit floating-point (OS/390 only) 
  2194.  
  2195.      Pointers 
  2196.  
  2197.      User-defined types 
  2198.  
  2199.  These data types include int, short, char and so on. 
  2200.  
  2201.  
  2202. ΓòÉΓòÉΓòÉ 3.5.2.2. C++ Supported Expression Operands ΓòÉΓòÉΓòÉ
  2203.  
  2204. You can monitor an expression that uses the following types of operands only: 
  2205.  
  2206.  Operand   Definition 
  2207.  
  2208.  Variable  A variable used in your program. 
  2209.  
  2210.  Constant  The constant can be one of the following types: 
  2211.  
  2212.                Fixed or floating-point constant within the ranges supported by 
  2213.                 the system the debuggee program is running on. 
  2214.  
  2215.                A string constant, enclosed in double quotation marks (for 
  2216.                 example, 'mystring') 
  2217.  
  2218.                A character constant, enclosed in single quote marks (for 
  2219.                 example, 'x') 
  2220.  
  2221.  Register  Any of the processor registers that can be displayed in the 
  2222.            Registers Monitor. In the case of conflicting names, program 
  2223.            variable names take precedence over register names. For conversions 
  2224.            that are done automatically when the registers display in mixed-mode 
  2225.            expressions, general-purpose registers are treated as unsigned 
  2226.            arithmetic items with a length appropriate to the register. 
  2227.  
  2228.  If you monitor an enumerated variable, a comment appears to the right of the 
  2229.  value. If the value of the variable matches one of the enumerated types, the 
  2230.  comment contains the name of the first enumerated type that matches the value 
  2231.  of the variable. If the length of the enumerated name does not fit in the 
  2232.  monitor, the contents appear as an empty entry field. 
  2233.  
  2234.  The comment (empty or not) lets you distinguish between a valid enumerated 
  2235.  value and an invalid value. An invalid value does not have a comment to its 
  2236.  right. 
  2237.  
  2238.  You cannot update an enumerated variable by entering an enumerated type. You 
  2239.  must enter a value or expression. If the value is a valid enumerated value, 
  2240.  the comment to the right of it is updated. 
  2241.  
  2242.  Bit fields are supported for C/C++ compiled code only. You can display and 
  2243.  update bit fields, but you cannot use them in expressions. You cannot look at 
  2244.  variables that have been defined using the #define preprocessor directive. 
  2245.  
  2246.  
  2247. ΓòÉΓòÉΓòÉ 3.5.2.3. C++ Supported Expression Operators ΓòÉΓòÉΓòÉ
  2248.  
  2249. You can monitor an expression that uses the following operators only: 
  2250.  
  2251.  Operator  Coded as 
  2252.  
  2253.  Global scope resolution ::a 
  2254.  
  2255.  Class or namespace scope resolution a::b 
  2256.  
  2257.  Subscripting a[b] 
  2258.  
  2259.  Member selection a.b or a->b 
  2260.  
  2261.  Size      sizeof a or sizeof (type) 
  2262.  
  2263.  Logical not !a 
  2264.  
  2265.  Ones complement ~a 
  2266.  
  2267.  Unary minus -a 
  2268.  
  2269.  Unary plus +a 
  2270.  
  2271.  Dereference *a 
  2272.  
  2273.  Type cast (type) a 
  2274.  
  2275.  Multiply  a * b 
  2276.  
  2277.  Divide    a / b 
  2278.  
  2279.  Modulo    a % b 
  2280.  
  2281.  Add       a + b 
  2282.  
  2283.  Subtract  a - b 
  2284.  
  2285.  Left shift a << b 
  2286.  
  2287.  Right shift a >> b 
  2288.  
  2289.  Less than a < b 
  2290.  
  2291.  Greater than a > b 
  2292.  
  2293.  Less than or equal to a <= b 
  2294.  
  2295.  Greater than or equal to a >= b 
  2296.  
  2297.  Equal     a == b 
  2298.  
  2299.  Not equal a != b 
  2300.  
  2301.  Bitwise AND a & b 
  2302.  
  2303.  Bitwise OR a | b 
  2304.  
  2305.  Bitwise exclusive OR a ^ b 
  2306.  
  2307.  Logical AND a && b 
  2308.  
  2309.  Logical OR a || b 
  2310.  
  2311.  
  2312. ΓòÉΓòÉΓòÉ 3.5.3. Values that Are Valid for the Current Representation ΓòÉΓòÉΓòÉ
  2313.  
  2314. When you are entering a value in an entry field such as a register in the 
  2315. Registers monitor, a column of storage in the Storage monitor, or the contents 
  2316. of a variable in another monitor, the debugger checks that the value you enter 
  2317. is valid for the current representation of that column or entry field. 
  2318.  
  2319. A value is valid for the current representation if it contains only the 
  2320. characters used for that representation, and does not exceed the length of the 
  2321. variable or register involved. For example, if you want to change the contents 
  2322. of storage, and the Content style setting for a particular Storage monitor is 
  2323. 32-bit integer, the value you enter must be a valid 32-bit integer, not a 
  2324. floating-point value or other value.Or, if you want to change the contents of a 
  2325. character string and the current representation is as a text string, you must 
  2326. enter a new string in double quotes, and the length of the string must not 
  2327. exceed the declared array size. 
  2328.  
  2329. Related Information 
  2330.  
  2331. Reference 
  2332. Expressions Supported 
  2333.  
  2334. Procedures 
  2335. Change the Contents of Storage, Variables, and Registers 
  2336.  
  2337.  
  2338. ΓòÉΓòÉΓòÉ 3.5.4. Valid Addresses and Expressions ΓòÉΓòÉΓòÉ
  2339.  
  2340. Here are some examples of addresses or expressions you can enter in the Address 
  2341. or expression field of the Set Storage Change dialog: 
  2342.  
  2343.  MyVariable (C++) : The address pointed to by MyVariable, if such a variable 
  2344.            exists in your program, and if its value is a valid storage address 
  2345.            (for example, if the variable is a pointer to another variable or to 
  2346.            an offset within an array). 
  2347.  
  2348.  MyVariable (COBOL or PL/I) If MyVariable is of type POINTER, the contents of 
  2349.            the variable are used as the address; for other variables, the 
  2350.            address of the variable is used. 
  2351.  
  2352.  &MyVariable (C++) The storage of the variable MyVariable. 
  2353.  
  2354.  A1FCC     The hex address A1FCC, unless you have a variable declared as A1FCC, 
  2355.            in which case it is treated the same as MyVariable above. 
  2356.  
  2357.  0xA1FCC   The hex address A1FCC. 
  2358.  
  2359.  RegisterName The name of a processor register on the system the debuggee 
  2360.            program is running on. If the expression evaluates to a processor 
  2361.            register, that register's contents are used in place of the register 
  2362.            name. 
  2363.  
  2364.  X'000A1FCC' (COBOL) The hex address A1FCC. Note that if you use this syntax, 
  2365.            you must specify an even number of hex digits. For the above value 
  2366.            you could specify 0xA1FCC or X'0A1FCC', but not X'A1FCC'. 
  2367.  
  2368.  Related Information 
  2369.  
  2370.  Reference 
  2371.  Expressions Supported 
  2372.  
  2373.  
  2374. ΓòÉΓòÉΓòÉ 3.6. Problems Getting a Source View ΓòÉΓòÉΓòÉ
  2375.  
  2376. Sometimes when debugging, you may find that the Source window is not available, 
  2377. or that the Source window does not appear to match the program you are 
  2378. debugging (for example, step commands behave erratically). There are several 
  2379. likely reasons for such problems: 
  2380.  
  2381.      The code you are debugging was compiled with debug information, but the 
  2382.       debugger cannot locate the source code 
  2383.  
  2384.      The source has been downloaded to your workstation but is not pointed to 
  2385.       by the DEBUG_LOCAL_PATH environment variable. 
  2386.  
  2387.  Related Information 
  2388.  
  2389.  Reference 
  2390.  Debugger Cannot Find Source Code 
  2391.  Debugger Cannot Find Source Files on Workstation 
  2392.  Environment Variables 
  2393.  
  2394.  
  2395. ΓòÉΓòÉΓòÉ 3.6.1. Debugger Cannot Find Source Code ΓòÉΓòÉΓòÉ
  2396.  
  2397. You may not be able to open a Source window for an object, even though the code 
  2398. was compiled with debug information, if the debugger cannot find the source 
  2399. code for it. When you start debugging such a program, or when execution lands 
  2400. in a part of the program that was compiled with debug information but the 
  2401. debugger cannot find the source code for it, the debugger opens a Source 
  2402. Filename dialog. In this dialog you can enter the name of the data set or PDS 
  2403. and member containing the source file. If you choose Cancel when this dialog 
  2404. appears, no Source window displays for the object. If the source code has been 
  2405. moved to another data set, select View->Change text, and enter the name of the 
  2406. data set, including the PDS member name, in the Change text file dialog.(The 
  2407. debugger searches for source files using a search path based on environment 
  2408. variables. If you are having problems getting a Source window for an object, 
  2409. check that the appropriate variables are properly set. 
  2410.  
  2411. If you choose Cancel, only the Session Control window will display. From there 
  2412. you can run your application or exit the debugger. If your application contains 
  2413. calls to routines that have debug data and have source code available, you can 
  2414. have the debugger stop at the entry to these routines. To do this from the 
  2415. Session Control window, you can set a deferred breakpoint for individual 
  2416. routines or you can have the debugger stop at entry to all routines. 
  2417.  
  2418. Related Information 
  2419.  
  2420. Reference 
  2421. Environment Variables 
  2422.  
  2423. Procedures 
  2424. Set a Deferred Breakpoint 
  2425.  
  2426.  
  2427. ΓòÉΓòÉΓòÉ 3.6.2. Debugger Is Using a Different Executable Version ΓòÉΓòÉΓòÉ
  2428.  
  2429.  
  2430. ΓòÉΓòÉΓòÉ 3.6.3. Debugger Cannot Find Source Files on Workstation ΓòÉΓòÉΓòÉ
  2431.  
  2432. One possible reason the debugger does not display your source code is that you 
  2433. expected the debugger to look for source files on the workstation, but have not 
  2434. downloaded the required source files, or have not told the debugger where to 
  2435. find them. 
  2436.  
  2437. If you have want the debugger to search for source files on the workstation, 
  2438. make sure that: 
  2439.  
  2440.      You have downloaded the necessary source files 
  2441.  
  2442.      The DEBUG_PATH environment variable on the workstation contains the paths 
  2443.       of all directories where such source files are stored. You must separate 
  2444.       entries with semicolons. For example, if you have files in 
  2445.       F:\PRIVATE\SOURCE and G:\BUILD\SRC on your workstation, you should set 
  2446.       DEBUG_PATH to: 
  2447.  
  2448.  
  2449.                     F:\PRIVATE\SOURCE;G:\BUILD\SRC
  2450.  
  2451.  
  2452. ΓòÉΓòÉΓòÉ 3.7. Debugging Threads ΓòÉΓòÉΓòÉ
  2453.  
  2454.  Note: The sections on debugging threads are intended primarily for users with 
  2455. limited knowledge of developing multithreaded programs, in particular, those 
  2456. whose programming experience is mainly with single-threaded environments such 
  2457. as Windows 3.1. 
  2458.  
  2459. Multithreaded programs may behave differently in the debugger than they do when 
  2460. run normally. Because debugger features such as single-stepping and certain 
  2461. kinds of breakpoints involve processing overhead, running a multithreaded 
  2462. program within the debugger may affect the timing of thread switches. If you 
  2463. are experiencing problems, you can use the Threads pane of the Session Control 
  2464. window to enable or disable threads so that you can debug problems related to 
  2465. thread timing. 
  2466.  
  2467. The main problems you are likely to encounter in debugging multithreaded 
  2468. programs are timing and deadlock problems. You should not assume that a timing 
  2469. or deadlock problem that seems only to occur when your program is running 
  2470. within the debugger will never occur outside of the debugger. It is far more 
  2471. likely that the processing overhead of the debugger is merely increasing the 
  2472. frequency with which coding problems lead to deadlocks or thread timing errors. 
  2473.  
  2474. The following sections describe issues relating to debugging multithreaded 
  2475. programs, and contain suggestions for ensuring that your multithreaded programs 
  2476. are threadsafe both during debugging and in production use: 
  2477.  
  2478.      Threads and C++ Class Members 
  2479.  
  2480.      Threads and Load Occurrence Breakpoints 
  2481.  
  2482.  
  2483. ΓòÉΓòÉΓòÉ 3.7.1. Threads and C++ Class Members ΓòÉΓòÉΓòÉ
  2484.  
  2485. If you use the same C++ class in two different threads, you may have thread 
  2486. problems such as the following: 
  2487.  
  2488.      If the class contains static variables, you may have re-entrancy 
  2489.       problems. 
  2490.  
  2491.      If you are using the same instance from two separate threads, the 
  2492.       instance may be accessed by both threads at once, resulting in a loss of 
  2493.       data integrity. 
  2494.  
  2495.  In both cases you need re-entrancy protection. For example, use a semaphore 
  2496.  whenever you access the static variables or the common class instance. 
  2497.  
  2498.  Related Information 
  2499.  
  2500.  Reference 
  2501.  Debugging Threads 
  2502.  
  2503.  
  2504. ΓòÉΓòÉΓòÉ 3.7.2. Threads and Load Occurrence Breakpoints ΓòÉΓòÉΓòÉ
  2505.  
  2506. If you set a load occurrence breakpoint for a compile unit that has not been 
  2507. loaded, you may find that, in a multithreaded program, the compile unit never 
  2508. triggers the breakpoint, even though it must have been loaded by a call to a 
  2509. function within it. The usual cause of a load occurrence breakpoint not 
  2510. triggering is that you associated the breakpoint with a particular thread. 
  2511.  
  2512. To avoid this problem, choose 'every' to have the load occurrence breakpoint 
  2513. trigger regardless of which thread first calls a function within it. The 
  2514. debugger tells you which thread triggered the load. 
  2515.  
  2516. C++ only: For all breakpoint types, you can specify a breakpoint at the same 
  2517. location but with different conditions for different threads. For example, you 
  2518. can set a breakpoint that is triggered in thread 1 when the variable a has the 
  2519. value 3, and a breakpoint at the same location triggered in thread 2 when the 
  2520. variable a has the value 4. Conditions on thread-specific breakpoints can be 
  2521. useful for determining whether you have thread data integrity problems. 
  2522.  
  2523. Related Information 
  2524.  
  2525. Reference 
  2526. Debugging Threads 
  2527.  
  2528.  
  2529. ΓòÉΓòÉΓòÉ 3.8. More Information on Recursion ΓòÉΓòÉΓòÉ
  2530.  
  2531. Recursion does not have to involve a function calling itself directly; for 
  2532. example: func1 calls func2 calls func3 calls func1. After the call to func3, 
  2533. each time you step into one of these functions, the entry for that call shows a 
  2534. recursion count one higher than the previous entry for that call. 
  2535.  
  2536. You can use the recursion value to detect unintentionally recursive calls. 
  2537.  
  2538. The debugger can keep track of all calls, whether they are done using a 
  2539. function or pointer to function, or, for C++, a virtual function. 
  2540.  
  2541.  
  2542. ΓòÉΓòÉΓòÉ 3.9. Valid Entries for Registers ΓòÉΓòÉΓòÉ
  2543.  
  2544. If the value you enter consists entirely of valid hexadecimal characters, it is 
  2545. treated as a hexadecimal value unless it is also the name of a variable that is 
  2546. currently in scope. For example, suppose you have a variable feedbeef, and you 
  2547. enter 'feedbeef' as a register value. If the variablefeedbeef can be 
  2548. represented as a hex value, that hex value is used. Otherwise, the debugger 
  2549. uses the hex value 'feedbeef'. To force the debugger to use a hex value rather 
  2550. than the contents of a variable, precede the hex value with '0x' (for example, 
  2551. '0xfeedbeef').  In COBOL, you can also use 'X'feedbeef''. 
  2552.  
  2553. For C++, you can also enter an expression. Numbers used in the expression are 
  2554. treated as decimal unless explicitly preceded with '0x'.  Only decimal and 
  2555. hexadecimal constants can be entered. 
  2556.  
  2557. Related Information 
  2558.  
  2559. Reference 
  2560. Expressions Supported 
  2561.  
  2562.  
  2563. ΓòÉΓòÉΓòÉ 3.10. Registers Monitor Split Bars ΓòÉΓòÉΓòÉ
  2564.  
  2565. You can change the amount of space given to each group of registers in the 
  2566. Registers monitor, as follows: 
  2567.  
  2568.    1. Place the pointer on the split bar (a division between two panes of the 
  2569.       window). The pointer's shape changes to an icon with two arrows. 
  2570.  
  2571.    2. Click and hold mouse button 1. 
  2572.  
  2573.    3. Drag the mouse up or down (for register groups displayed in rows) or left 
  2574.       or right (for register groups displayed in columns) until you reach the 
  2575.       desired size for the pane. 
  2576.  
  2577.    4. Release the mouse button. 
  2578.  
  2579.  To save the position of the split bars, select Options->Display style and 
  2580.  click on the Save Split Bar Positions check box. 
  2581.  
  2582.  
  2583. ΓòÉΓòÉΓòÉ 3.11. Call Statement Example for COBOL ΓòÉΓòÉΓòÉ
  2584.  
  2585. Given the following:: 
  2586.  
  2587. .
  2588. .
  2589. .
  2590. PROGRAM-ID. MAINPRG.
  2591. .
  2592. .
  2593. .
  2594. CALL 'PROG1'.
  2595. .
  2596. .
  2597. .
  2598.  
  2599. If you step into PROG1 and display the Call Stack window, the call statement 
  2600. shown for MAINPRG is the line number where PROG1 was called. The entry with the 
  2601. highest entry number in the Call Stack window has no Call Statement value 
  2602. because it has not itself called any routine. 
  2603.  
  2604.  
  2605. ΓòÉΓòÉΓòÉ 3.12. Call Statement Example for C++ ΓòÉΓòÉΓòÉ
  2606.  
  2607. Given the following source code: 
  2608.  
  2609. void func1() {/* ... */}
  2610. void main() {
  2611.   func1();
  2612. }
  2613.  
  2614. If you step into func1 and display the Call Stack window, the call statement 
  2615. shown for main is the line number where func1 was called from. The function 
  2616. with the highest entry number in the Call Stack window has no Call Statement 
  2617. entry because it has not itself called any function. 
  2618.  
  2619.  
  2620. ΓòÉΓòÉΓòÉ 3.13. Jump to Location -- COBOL Example ΓòÉΓòÉΓòÉ
  2621.  
  2622. In the example below, assume that line 61 is the current line and that you 
  2623. selected line 62. If you issue a Jump to Location command and then a Step Into 
  2624. command, line 65 will become the current line. However, if you issue a Run to 
  2625. Location command instead of the Jump to Location command, line 63 will become 
  2626. the current line. 
  2627.  
  2628. 59           MOVE 13 TO VAR2.
  2629. 60           MOVE 12 TO VAR1.
  2630. 61           MOVE 12 TO VAR2.
  2631. 62           IF VAR1 = VAR2 THEN
  2632. 63               CALL 'PROG1'
  2633. 64           ELSE
  2634. 65               CALL 'PROG2'
  2635. 66           END-IF.
  2636.  
  2637.  
  2638. ΓòÉΓòÉΓòÉ 3.14. Jump to Location -- C++ Example ΓòÉΓòÉΓòÉ
  2639.  
  2640. In the example below, if you have stepped over the assignment to var2, and you 
  2641. select the if line and issue a Jump to Location command followed by two Step 
  2642. Into commands, execution stops at the first line of func2 instead of func1: 
  2643.  
  2644. //...
  2645. var1=11;
  2646. var2=12;  // just stepped over this statement
  2647. var1=12;
  2648. if (var1==var2) func1();
  2649. else func2();
  2650.  
  2651.  
  2652. ΓòÉΓòÉΓòÉ 4. User Interface Help for Debugger ΓòÉΓòÉΓòÉ
  2653.  
  2654.  The Debugger Online Help is divided into four types of information: 
  2655.  
  2656.      Procedures - how to perform a specific task or set of tasks 
  2657.  
  2658.      Reference - technical information you may need to understand how to 
  2659.       perform a task 
  2660.  
  2661.      User Interface - context-sensitive help pages displayed when you press F1 
  2662.       from within the debugger 
  2663.  
  2664.      Concepts - overview information you may need to understand basic 
  2665.       principles of debugging or components of the debugger interface 
  2666.  
  2667.  The main topics for User Interface help are listed below: 
  2668.  
  2669.      Source window 
  2670.  
  2671.      Call Stack monitor 
  2672.  
  2673.      Registers monitor 
  2674.  
  2675.      Storage monitor 
  2676.  
  2677.      Breakpoint List window 
  2678.  
  2679.      Session Control window 
  2680.  
  2681.      Popup Monitor 
  2682.  
  2683.      Private Monitor 
  2684.  
  2685.      Program Monitor 
  2686.  
  2687.      Popup Menu for Private and Program Monitors 
  2688.  
  2689.      Local Variables Monitor 
  2690.  
  2691.      Dialogs 
  2692.  
  2693.      Toolbar Buttons, Shortcut Keys, and Common Menu Items 
  2694.  
  2695.  
  2696. ΓòÉΓòÉΓòÉ 4.1. Source Window ΓòÉΓòÉΓòÉ
  2697.  
  2698. The Source window displays the source code for the program you are debugging. 
  2699. You can perform most debugger actions from the Source window. For more details 
  2700. see: 
  2701.  
  2702.      Introduction to the Source window 
  2703.  
  2704.      How to use the Source window 
  2705.  
  2706.      Menus, buttons, shortcut keys 
  2707.  
  2708.  
  2709. ΓòÉΓòÉΓòÉ 4.1.1. Menus, Buttons, and Shortcut Keys ΓòÉΓòÉΓòÉ
  2710.  
  2711. The Source window provides the following menu bar menus, popup menus, toolbar 
  2712. buttons, and shortcut keys: 
  2713.  
  2714.      Menu bar menus: 
  2715.  
  2716.         -  File 
  2717.  
  2718.         -  View 
  2719.  
  2720.         -  Breakpoints 
  2721.  
  2722.         -  Monitors 
  2723.  
  2724.         -  Run 
  2725.  
  2726.         -  Options 
  2727.  
  2728.         -  Windows 
  2729.  
  2730.         -  Help 
  2731.  
  2732.      Prefix area popup menu and code area popup menu 
  2733.  
  2734.      Toolbar buttons: 
  2735.  
  2736.      Shortcut keys: 
  2737.  
  2738.         -  [Ctrl+B->Session Control] 
  2739.  
  2740.         -  [Ctrl+E->Registers] 
  2741.  
  2742.         -  [Ctrl+G->Storage] 
  2743.  
  2744.         -  [Ctrl+K->Call Stack] 
  2745.  
  2746.         -  [Ctrl+R->Run] 
  2747.  
  2748.         -  [Ctrl+V-> Local variables] 
  2749.  
  2750.         -  [Ctrl+X-> Breakpoint list] 
  2751.  
  2752.  
  2753. ΓòÉΓòÉΓòÉ 4.1.1.1. File Menu ΓòÉΓòÉΓòÉ
  2754.  
  2755. Use the File menu of the Source window to open a new source file, find a 
  2756. function or the current execution point, or exit the debugger. The File menu 
  2757. contains the following choices: 
  2758.  
  2759.      Open New Source 
  2760.  
  2761.      Find Function 
  2762.  
  2763.      Where is Execution Point -- [Ctrl+P] 
  2764.  
  2765.      Close Debugger -- [F3] 
  2766.  
  2767.  
  2768. ΓòÉΓòÉΓòÉ 4.1.1.2. View Menu ΓòÉΓòÉΓòÉ
  2769.  
  2770. Use the View menu of the Source window to locate a text string, scroll through 
  2771. the view,  or view a different source file. The View menu contains the 
  2772. following choices: 
  2773.  
  2774.      Find -- [Ctrl+F] 
  2775.  
  2776.      Find Next -- [Ctrl+N] 
  2777.  
  2778.      Scroll to Line Number 
  2779.  
  2780.      Select Include (not available for COBOL) 
  2781.  
  2782.      Change Text File 
  2783.  
  2784.  
  2785. ΓòÉΓòÉΓòÉ 4.1.1.2.1. Find ΓòÉΓòÉΓòÉ
  2786.  
  2787. Select View->Find or press Ctrl+F to locate a string of text in the Source 
  2788. Window. Enter the string in the Find dialog. The debugger searches forward from 
  2789. the current highlighted word or line to the end of the file, then wraps to the 
  2790. beginning and searches up to the highlighted word or line. If the string is 
  2791. found, it is highlighted. Otherwise the message Text not found is displayed. 
  2792.  
  2793. If you want to search for only exact case matches to the search string, click 
  2794. on the Case sensitive check box. 
  2795.  
  2796. Once you have entered a string in the Find dialog, you can repeat the find 
  2797. operation by selecting View->Find Next or by pressing Ctrl+N. 
  2798.  
  2799.  
  2800. ΓòÉΓòÉΓòÉ 4.1.1.2.2. Find Next ΓòÉΓòÉΓòÉ
  2801.  
  2802. Select View->Find Next or press Ctrl+N to find the next string that matches the 
  2803. search string you specified using View->Find or Ctrl+F. 
  2804.  
  2805. If you have not yet specified a string to search for, this choice is not 
  2806. available. 
  2807.  
  2808.  
  2809. ΓòÉΓòÉΓòÉ 4.1.1.2.3. Scroll to Line Number ΓòÉΓòÉΓòÉ
  2810.  
  2811. Select View->Scroll to Line Number to move to another line in the source file. 
  2812. This action only affects what you see; it does not change what line will be 
  2813. executed next. 
  2814.  
  2815. A dialog opens where you enter a line number to scroll to. You can then either 
  2816. click on OK to scroll to that line, or you can select Breakpoint if you want to 
  2817. set a breakpoint at the line number. 
  2818.  
  2819. Once you have scrolled to a line number, you can select Run to locationor Jump 
  2820. to location to runor jump to that line. 
  2821.  
  2822. You can also open the Scroll to Line Number dialog by typing a line number 
  2823. directly from within the Source window. The dialog opens and the number you 
  2824. typed is placed in the line number entry field. 
  2825.  
  2826.  
  2827. ΓòÉΓòÉΓòÉ 4.1.1.2.4. Select Include ΓòÉΓòÉΓòÉ
  2828.  
  2829. Select View->Select Include to display a list of the source files included in 
  2830. your program. You can select a file from this list to view. You can also access 
  2831. these files from the notebook tabs in the Source window (unless you have 
  2832. disabled the Source as Notebook check box in the Source window options). 
  2833.  
  2834.  
  2835. ΓòÉΓòÉΓòÉ 4.1.1.2.5. Change Text File ΓòÉΓòÉΓòÉ
  2836.  
  2837. Select View->Change text file to view a different source file. Sometimes the 
  2838. debugger locates the wrong source file for your program. Change Text File lets 
  2839. you specify the correct  data set and member names for the source file. 
  2840.  
  2841. In the dialog that appears, enter the data set name and member (if the data set 
  2842. is a PDS) that contains the source file you want. 
  2843.  
  2844. Note: Change Text File does not open a new Source window or change the 
  2845. executable being debugged. If you enter the wrong  data set name, you may still 
  2846. be able to set breakpoints, issue step commands, and see the debugger moving 
  2847. the current line. However, the debugger's behavior is related to the current 
  2848. object file, not to the current source file, and so this behavior may seem out 
  2849. of sync with the source file. If you want to debug a different object file 
  2850. within the same program, do not use this menu item; select File->Open New 
  2851. Source instead. 
  2852.  
  2853.  
  2854. ΓòÉΓòÉΓòÉ 4.1.1.3. Breakpoints Menu ΓòÉΓòÉΓòÉ
  2855.  
  2856. Use the Breakpoints menu of the Source window to set and delete breakpoints. It 
  2857. contains the following choices: 
  2858.  
  2859.      Set line 
  2860.  
  2861.      Set entry 
  2862.  
  2863.      Set storage change 
  2864.  
  2865.      Set load occurrence 
  2866.  
  2867.      List -- [Ctrl+X] 
  2868.  
  2869.      Toggle at current line -- space bar 
  2870.  
  2871.      Delete All - delete all breakpoints 
  2872.  
  2873.  You can also set, delete, enable, and disable breakpoints in the prefix area 
  2874.  of the source view. 
  2875.  
  2876.  Related Information 
  2877.  
  2878.  Procedures 
  2879.  Delete All Breakpoints 
  2880.  
  2881.  
  2882. ΓòÉΓòÉΓòÉ 4.1.1.3.1. List ΓòÉΓòÉΓòÉ
  2883.  
  2884. Select Breakpoints->List, or press Ctrl+X from a Source window or the Session 
  2885. Control window, to open the Breakpoints List window. This window lists 
  2886. information on all breakpoints, and lets you enable, disable, set, and delete 
  2887. breakpoints. 
  2888.  
  2889.  
  2890. ΓòÉΓòÉΓòÉ 4.1.1.3.2. Toggle at Current Line ΓòÉΓòÉΓòÉ
  2891.  
  2892. Select Breakpoints->Toggle at current line to set a breakpoint at the current 
  2893. line. If there is already a breakpoint at the current line, this action clears 
  2894. it. 
  2895.  
  2896. Other ways to toggle a breakpoint are to double-click on the line number or to 
  2897. select the line number and press the space bar. 
  2898.  
  2899.  
  2900. ΓòÉΓòÉΓòÉ 4.1.1.4. Monitors Menu ΓòÉΓòÉΓòÉ
  2901.  
  2902. Use the Monitors menu to display one of the debugger monitors. Monitors keep 
  2903. track of the contents of the call stack, registers, storage, and variables, and 
  2904. are updated after each step command or encountered breakpoint. 
  2905.  
  2906. In the Source window, the Monitors menu also includes the Monitor Expression 
  2907. choice, which lets you enter a variable or expression to monitor. 
  2908.  
  2909. You can access the following windows from the Monitors menu: 
  2910.  
  2911.      Call stack 
  2912.  
  2913.      Registers 
  2914.  
  2915.      Storage 
  2916.  
  2917.      Local Variables 
  2918.  
  2919.  
  2920. ΓòÉΓòÉΓòÉ 4.1.1.5. Run Menu ΓòÉΓòÉΓòÉ
  2921.  
  2922. A subset of the following menu choices appears on the Run menu of the Source 
  2923. and Session Control windows: 
  2924.  
  2925.      Step over -- [O] 
  2926.  
  2927.      Step into -- [I] 
  2928.  
  2929.      Step return -- [T] 
  2930.  
  2931.      Run -- [R] or [Ctrl+R] 
  2932.  
  2933.      Run to Location -- [L] 
  2934.  
  2935.      Jump to Location -- [N] 
  2936.  
  2937.      Hide Debugger on Run 
  2938.  
  2939.      Thread Enabled 
  2940.  
  2941.  The help for each debugger window contains appropriate links to the menu 
  2942.  choices it supports. 
  2943.  
  2944.  
  2945. ΓòÉΓòÉΓòÉ 4.1.1.6. Prefix Area Popup Menu ΓòÉΓòÉΓòÉ
  2946.  
  2947. When you click mouse button 2 [note] in the prefix area of an executable line 
  2948. in a Source window, a popup menu appears with some or all of the following 
  2949. choices: 
  2950.  
  2951.      Run to location -- run to this line 
  2952.  
  2953.      Jump to location -- jump to this line 
  2954.  
  2955.      Set line breakpoint -- set a breakpoint at this line 
  2956.  
  2957.      Clear breakpoint -- clear the breakpoint at the current line 
  2958.  
  2959.      Set breakpoint -- set a breakpoint at the current line 
  2960.  
  2961.      Disable breakpoint -- disable the breakpoint at the current line 
  2962.  
  2963.      Enable breakpoint -- enable the disabled breakpoint at the current line 
  2964.  
  2965.  Executable lines are shown in blue in the prefix area, while non-executable 
  2966.  lines (such as comment lines) are shown in black. 
  2967.  
  2968.  
  2969. ΓòÉΓòÉΓòÉ 4.1.1.7. Code Area Popup Menu ΓòÉΓòÉΓòÉ
  2970.  
  2971. When you click mouse button 2 [note] while your pointer is over text in the 
  2972. source code area of a Source window, a popup menu appears with the choices 
  2973. shown below. The first four choices are used to add the highlighted item to the 
  2974. indicated type of monitor: 
  2975.  
  2976.      Popup expression 
  2977.  
  2978.      Add to private monitor 
  2979.  
  2980.      Add to program monitor 
  2981.  
  2982.      Add to storage monitor 
  2983.  
  2984.      Copy -- copy the highlighted item into the system clipboard 
  2985.  
  2986.      Find -- find the next occurrence of the highlighted item 
  2987.  
  2988.      Find entry -- find an entry point that matches the highlighted item 
  2989.       (entries in different compile units may not be found) 
  2990.  
  2991.      Set entry breakpoint -- set a breakpoint at the entry that matches the 
  2992.       highlighted item (entry must be in the same compile unit) 
  2993.  
  2994.  For the last two choices, if the selected text corresponds to an overloaded 
  2995.  C++ function (one that is implemented with two or more distinct signatures), 
  2996.  an Overloaded dialog opens so that you can select which function signature 
  2997.  corresponds to the function you selected. 
  2998.  
  2999.  
  3000. ΓòÉΓòÉΓòÉ 4.1.1.8. Toolbar Buttons and Shortcut Keys ΓòÉΓòÉΓòÉ
  3001.  
  3002. The Source window provides the following toolbar buttons and shortcut keys: 
  3003.  
  3004.      [O] -- Step over 
  3005.  
  3006.      [I] -- Step into 
  3007.  
  3008.      [T] -- Step return 
  3009.  
  3010.      [R] -- Run 
  3011.  
  3012.      -- Monitor expression 
  3013.  
  3014.      -- Call stack monitor 
  3015.  
  3016.      -- Registers monitor 
  3017.  
  3018.      -- Storage monitor 
  3019.  
  3020.      [Ctrl+X] -- Breakpoints list 
  3021.  
  3022.      [Ctrl+B] -- Session Control window 
  3023.  
  3024.  
  3025. ΓòÉΓòÉΓòÉ 4.1.2. Prefix Area ΓòÉΓòÉΓòÉ
  3026.  
  3027. The prefix area of the Source window is the leftmost column in the main area of 
  3028. the window. The values in the prefix area correspond to the line numbers in the 
  3029. current source file 
  3030.  
  3031. You can use the prefix area in the following ways: 
  3032.  
  3033.      To get a bearing on where you are in your file, by using line numbers as 
  3034.       references. 
  3035.  
  3036.      To set and clear breakpoints. Double-click mouse button 1 on a value in 
  3037.       the prefix area, or press the space bar while the cursor is in the prefix 
  3038.       area. This toggles between setting and removing a breakpoint. 
  3039.  
  3040.      To run or jump to a line. Click mouse button 2 [note] over the line's 
  3041.       prefix area, and select either Run to location  or Jump to location from 
  3042.       the popup menu. 
  3043.  
  3044.  Breakpoints are indicated in the prefix area by reverse red highlighting. 
  3045.  
  3046.  
  3047. ΓòÉΓòÉΓòÉ 4.2. Call Stack Window ΓòÉΓòÉΓòÉ
  3048.  
  3049. You can use the Call Stack window to view a list of active functions for a 
  3050. thread, and to raise a Source window to view the code for any of these 
  3051. functions. To display the window, select Monitors->Call stack or click on the 
  3052. pushbutton in the Source window or the Session Control window. 
  3053.  
  3054. Call Stack window Menus, buttons, and shortcut keys 
  3055.  
  3056. Related Information 
  3057.  
  3058. Procedures 
  3059. Use the Call Stack Window 
  3060.  
  3061. Concepts 
  3062. Introduction to the Call Stack Window 
  3063.  
  3064.  
  3065. ΓòÉΓòÉΓòÉ 4.2.1. Menus, Buttons, and Shortcut Keys ΓòÉΓòÉΓòÉ
  3066.  
  3067. The Call Stack window provides the following menus, buttons, and shortcut keys: 
  3068.  
  3069.      A popup menu with one item, View 
  3070.  
  3071.      File Options Windows Help 
  3072.  
  3073.     
  3074.  
  3075.      [Ctrl+B->Session Control] [Ctrl+R->Run] 
  3076.  
  3077.  
  3078. ΓòÉΓòÉΓòÉ 4.2.1.1. File Menu ΓòÉΓòÉΓòÉ
  3079.  
  3080. The File menu of the Call Stack window contains only one choice, Close 
  3081. Debugger. 
  3082.  
  3083.  
  3084. ΓòÉΓòÉΓòÉ 4.2.1.2. Options Menu ΓòÉΓòÉΓòÉ
  3085.  
  3086. The Options menu of the Call Stack window contains the following choices: 
  3087.  
  3088.      Fonts 
  3089.  
  3090.      Display style 
  3091.  
  3092.      Restore defaults 
  3093.  
  3094.      Tool buttons 
  3095.  
  3096.      Hover help 
  3097.  
  3098.      Infoarea 
  3099.  
  3100.  
  3101. ΓòÉΓòÉΓòÉ 4.2.1.2.1. Display Style ΓòÉΓòÉΓòÉ
  3102.  
  3103. Select Options->Display style to specify what information you want displayed in 
  3104. the Call Stack window, and to specify the growth direction for the window. 
  3105.  
  3106. In the dialog that appears, you can select from the following items (not 
  3107. necessarily in the order shown here): 
  3108.  
  3109.      Entry No Function 
  3110.  
  3111.      Prog. Unit Name 
  3112.  
  3113.      Call Statement 
  3114.  
  3115.      Recursion 
  3116.  
  3117.      Stack frame 
  3118.  
  3119.      Stack Size 
  3120.  
  3121.      Compile Date/Time 
  3122.  
  3123.      Function address 
  3124.  
  3125.  Click on an entry from the list above for help about it. 
  3126.  
  3127.  To select an item in the dialog, position the pointer over it and click mouse 
  3128.  button 1, or press the space bar. (Clicking or pressing again deselects a 
  3129.  selected item.) Selected items appear white on a gray background. To cancel 
  3130.  changes you have made to the window without closing the window, click on 
  3131.  Reset. To restore the debugger defaults, click on Defaults. You can move 
  3132.  through the list by using either the mouse and slide bar or the cursor keys. 
  3133.  
  3134.  
  3135. ΓòÉΓòÉΓòÉ 4.2.1.3. View ΓòÉΓòÉΓòÉ
  3136.  
  3137. Position the pointer over a function in the Call Stack window, click mouse 
  3138. button 2, and select View from the popup menu. A Source window that contains 
  3139. the source code for the function is opened or raised. 
  3140.  
  3141.  
  3142. ΓòÉΓòÉΓòÉ 4.2.1.4. Growth Direction ΓòÉΓòÉΓòÉ
  3143.  
  3144. You can change the order in which functions on the call stack are displayed in 
  3145. the Call Stack window -- with the most recent entry at the top, or at the 
  3146. bottom. You can have the window display the most recently called routine at the 
  3147. top, and the outermost calling routine (usually the main program) at the 
  3148. bottom. If you click on the  button, the order is reversed. 
  3149.  
  3150. To change the default growth direction, select Options->Display style and 
  3151. choose the appropriate growth direction from the dialog. 
  3152.  
  3153.  
  3154. ΓòÉΓòÉΓòÉ 4.2.1.5. Growth Direction Push button ΓòÉΓòÉΓòÉ
  3155.  
  3156. Button:  Menu: Options->Display style (from Call Stack window) 
  3157.  
  3158. The Growth direction command changes the order in which functions on the call 
  3159. stack are displayed (whether the most recently called function appears at the 
  3160. top or bottom). See Growth Direction for more information. 
  3161.  
  3162.  
  3163. ΓòÉΓòÉΓòÉ 4.2.2. Source ΓòÉΓòÉΓòÉ
  3164.  
  3165. The Source item in the Call Stack window lists the name of the source file (or 
  3166. object file) for each active function in the current thread. 
  3167.  
  3168. Select Source from the Options->Display style dialog for the Call Stack window 
  3169. if you want a column showing  source file names to be displayed. Source file 
  3170. names are displayed by default. 
  3171.  
  3172.  
  3173. ΓòÉΓòÉΓòÉ 4.2.3. View Popup Choice ΓòÉΓòÉΓòÉ
  3174.  
  3175. Use the View choice on the Breakpoints List window's popup menu to raise the 
  3176. focus of the Source window containing a line or function breakpoint: 
  3177.  
  3178.    1. Select the breakpoint in the Breakpoints List window 
  3179.  
  3180.    2. Click mouse button 2 
  3181.  
  3182.    3. Select View from the breakpoint popup menu 
  3183.  
  3184.  You can also raise the focus of the Source window by double-clicking on the 
  3185.  breakpoint with mouse button 1. 
  3186.  
  3187.  The line containing the breakpoint is displayed in a Source window, with its 
  3188.  prefix area selected. If you want to alter the breakpoint, position the 
  3189.  pointer on that line, click mouse button 2 [note], and select an item from the 
  3190.  popup menu. 
  3191.  
  3192.  
  3193. ΓòÉΓòÉΓòÉ 4.2.4. Compile Date/Time ΓòÉΓòÉΓòÉ
  3194.  
  3195. The Compile Date/Time item in the Call Stack window shows the date and time the 
  3196. function was compiled. 
  3197.  
  3198. Select Compile Date/Time from the Options->Display style dialog for the Call 
  3199. Stack window if you want a column showing compilation time stamps to be 
  3200. displayed. 
  3201.  
  3202.  
  3203. ΓòÉΓòÉΓòÉ 4.2.5. Entry No ΓòÉΓòÉΓòÉ
  3204.  
  3205. The Entry No (entry number) item in the Call Stack window is a column of 
  3206. numbers that indicate the order of functions. The function with the highest 
  3207. number is the currently executing function; the one with the next highest 
  3208. number is its caller. Depending on the growth direction of the Call Stack 
  3209. window, entry numbers appear in descending or ascending order. The smallest 
  3210. entry number is always 1. 
  3211.  
  3212. Select Entry No from the Options->Display style dialog for the Call Stack 
  3213. window if you want a column showing entry numbers to be displayed. 
  3214.  
  3215.  
  3216. ΓòÉΓòÉΓòÉ 4.2.6. Function ΓòÉΓòÉΓòÉ
  3217.  
  3218. The Function item in the Call Stack window lists the name of each active 
  3219. function in the current thread, or, where the name is not available, the 
  3220. function's address. To view the source for that function, you can: 
  3221.  
  3222.      Double-click on its name 
  3223.  
  3224.      Select its line and press Enter 
  3225.  
  3226.      Position the pointer over it, click on mouse button 2, and select View 
  3227.       from the popup menu 
  3228.  
  3229.  Select Function from the Options->Display style dialog for the Call Stack 
  3230.  window if you want a column showing function names to be displayed. This 
  3231.  column is displayed by default. 
  3232.  
  3233.  
  3234. ΓòÉΓòÉΓòÉ 4.2.7. Recursion ΓòÉΓòÉΓòÉ
  3235.  
  3236. The Recursion item in the Call Stack window shows the number of times a 
  3237. function has been called and has not yet returned. For example, when a function 
  3238. recursefunc calls itself and you step into recursefunc, the debugger adds a new 
  3239. recursefunc entry to the Call Stack window. The recursion count for the new 
  3240. entry is one greater than for the previous recursefunc entry. 
  3241.  
  3242. Select Recursion from the Options->Display style dialog for the Call Stack 
  3243. window if you want a column showing recursion values to be displayed. 
  3244.  
  3245. Related Information 
  3246.  
  3247. Reference 
  3248. More Information on Recursion 
  3249.  
  3250.  
  3251. ΓòÉΓòÉΓòÉ 4.2.8. Call Statement ΓòÉΓòÉΓòÉ
  3252.  
  3253. The Call Statement item in the Call Stack window shows the statement that 
  3254. transferred control out of the function. You can view a C++  or COBOL example 
  3255. of the use of this item. 
  3256.  
  3257. Select Call statement from the Options->Display style dialog for the Call Stack 
  3258. window if you want a column showing the statement number to be displayed. 
  3259.  
  3260.  
  3261. ΓòÉΓòÉΓòÉ 4.2.9. Stack Frame Pointers ΓòÉΓòÉΓòÉ
  3262.  
  3263. These entries in the Call Stack window are the stack frame addresses for each 
  3264. active function on the call stack. 
  3265.  
  3266.  
  3267. ΓòÉΓòÉΓòÉ 4.2.10. Stack Size ΓòÉΓòÉΓòÉ
  3268.  
  3269. The Stack Size item in the Call Stack window is the size, in bytes, of the 
  3270. stack frame for the called function. A function's stack frame includes the 
  3271. address to return to when the function completes, a pointer to the previous 
  3272. function's stack frame, and any local variables or arrays declared in the 
  3273. calling function. Given that the return address and previous function pointer 
  3274. are fixed-size components of a stack frame, the stack frame size provides an 
  3275. indication of how much local data is declared by the function. 
  3276.  
  3277. In C++, because the heap, not the stack frame, contains the storage for 
  3278. dynamically allocated local variables, only the pointers to such variables take 
  3279. up stack frame space. 
  3280.  
  3281. Select Size from the Options->Display style dialog for the Call Stack window if 
  3282. you want a column showing the size of the stack frame. 
  3283.  
  3284.  
  3285. ΓòÉΓòÉΓòÉ 4.3. Registers Monitor ΓòÉΓòÉΓòÉ
  3286.  
  3287. Use the Registers monitor to view or modify the contents of the registers 
  3288. monitored for your program. The debugger displays a separate Registers monitor 
  3289. for each thread. See the following topics for more information: 
  3290.  
  3291.      How to use the Registers monitor 
  3292.  
  3293.      Menus, buttons, and shortcut keys 
  3294.  
  3295.  
  3296. ΓòÉΓòÉΓòÉ 4.3.1. Menus, Buttons, Shortcut Keys ΓòÉΓòÉΓòÉ
  3297.  
  3298. The Registers monitor provides the following menus, buttons, and shortcut keys: 
  3299.  
  3300.      File Options Windows Help 
  3301.  
  3302.     
  3303.  
  3304.      [Ctrl+B->Session Control] [Ctrl+R->Run] 
  3305.  
  3306.  
  3307. ΓòÉΓòÉΓòÉ 4.3.1.1. File Menu ΓòÉΓòÉΓòÉ
  3308.  
  3309. The File menu of the Registers monitor contains only one choice, Close 
  3310. Debugger. 
  3311.  
  3312.  
  3313. ΓòÉΓòÉΓòÉ 4.3.1.2. Options Menu ΓòÉΓòÉΓòÉ
  3314.  
  3315. The Options menu of the Registers monitor contains the following choices: 
  3316.  
  3317.      Fonts 
  3318.  
  3319.      Display style 
  3320.  
  3321.      Restore defaults 
  3322.  
  3323.      Tool buttons 
  3324.  
  3325.      Hover help 
  3326.  
  3327.      Infoarea 
  3328.  
  3329.  
  3330. ΓòÉΓòÉΓòÉ 4.3.1.2.1. Display Style ΓòÉΓòÉΓòÉ
  3331.  
  3332. Use the Display Style dialog to customize how the information in your Registers 
  3333. monitor is displayed. You can choose what groups of registers are displayed in 
  3334. the window, whether groups are laid out in columns (vertical orientation) or 
  3335. rows (horizontal orientation), whether or not the name of each group appears 
  3336. above its column or row, and whether the positions of split bars between rows 
  3337. or columns are saved. 
  3338.  
  3339. This dialog has the following group boxes and check boxes: 
  3340.  
  3341.  Groups    Use this selection list to choose the groups of registers you want 
  3342.            to display. (Available groups are dependent on the processor on 
  3343.            which the application being debugged is running.) To select an item, 
  3344.            position the pointer over it and click mouse button 1 or press the 
  3345.            space bar. Repeating this action deselects the item. Selected items 
  3346.            appear white on a gray background.
  3347.  
  3348.            You can move through the list by using the mouse and slide bar, or 
  3349.            by using the cursor up and down keys. 
  3350.  
  3351.  Orientation Select Vertical if you want each group of registers to display in 
  3352.            its own column, or select Horizontal if you want it to display in 
  3353.            its own row. (A row can have multiple lines.) 
  3354.  
  3355.  Column titles Select this check box if you want the title of each group of 
  3356.            registers to appear above its group. 
  3357.  
  3358.  Save split bars Select this check box if you want to save the positions of 
  3359.            split bars between rows or columns of registers, from one debugging 
  3360.            session of your program to the next. 
  3361.  
  3362.  To cancel changes you have made without closing the dialog, click on Reset. To 
  3363.  restore the debugger defaults, click on Defaults. 
  3364.  
  3365.  
  3366. ΓòÉΓòÉΓòÉ 4.4. Storage Monitor ΓòÉΓòÉΓòÉ
  3367.  
  3368. Use the Storage monitor to view and update the contents of storage areas used 
  3369. by your program. 
  3370.  
  3371. See the following topics for more information: 
  3372.  
  3373.      Introduction to the Storage monitor 
  3374.  
  3375.      Menus, buttons, and shortcut keys 
  3376.  
  3377.  
  3378. ΓòÉΓòÉΓòÉ 4.4.1. Menus, Buttons, and Shortcut Keys ΓòÉΓòÉΓòÉ
  3379.  
  3380. The Storage monitor provides the following menus, buttons, and shortcut keys: 
  3381.  
  3382.      File Options Windows Help 
  3383.  
  3384.     
  3385.  
  3386.      [Ctrl+B->Session Control] [Ctrl+R->Run] 
  3387.  
  3388.  
  3389. ΓòÉΓòÉΓòÉ 4.4.1.1. File Menu ΓòÉΓòÉΓòÉ
  3390.  
  3391. The File menu of the Storage monitor contains only one choice, Close Debugger. 
  3392.  
  3393.  
  3394. ΓòÉΓòÉΓòÉ 4.4.1.2. Options Menu ΓòÉΓòÉΓòÉ
  3395.  
  3396. The Options menu of the Storage monitor contains the following choices: 
  3397.  
  3398.      Fonts 
  3399.  
  3400.      Display style 
  3401.  
  3402.      Monitor expression 
  3403.  
  3404.      Restore defaults 
  3405.  
  3406.      Tool buttons 
  3407.  
  3408.      Hover help 
  3409.  
  3410.      Infoarea 
  3411.  
  3412.  
  3413. ΓòÉΓòÉΓòÉ 4.4.1.2.1. Display Style ΓòÉΓòÉΓòÉ
  3414.  
  3415. Use the Display style dialog to specify what information is shown in the 
  3416. Storage monitor, what addressing scheme is used, how many columns of bytes are 
  3417. displayed on each line, and whether column titles are shown. 
  3418.  
  3419. To choose the desired style from the Content Style list, scroll through the 
  3420. list using the cursor keys, or position the pointer over the item you want; 
  3421. then click mouse button 1. To cancel changes you have made without closing the 
  3422. dialog, click on Reset. To restore the debugger defaults, click on Defaults. 
  3423.  
  3424. For information on the other items in the Display style dialog, click on the 
  3425. links below: 
  3426.  
  3427.      Address style 
  3428.  
  3429.      Columns per line 
  3430.  
  3431.      Column titles 
  3432.  
  3433.  
  3434. ΓòÉΓòÉΓòÉ 4.4.1.2.1.1. Address Style ΓòÉΓòÉΓòÉ
  3435.  
  3436. Only the flat address style is available. 
  3437.  
  3438.  
  3439. ΓòÉΓòÉΓòÉ 4.4.1.2.1.2. Columns per Line ΓòÉΓòÉΓòÉ
  3440.  
  3441. Enter a number, or use the arrows beside this field, to specify the number of 
  3442. Columns per line of storage you want displayed. The size of a single column is 
  3443. based on the content style you select. For example, if you select Hex and 
  3444. character, a column is a single byte; if you select 16-bit integer, a column is 
  3445. two bytes. 
  3446.  
  3447.  
  3448. ΓòÉΓòÉΓòÉ 4.4.1.2.1.3. Column Titles ΓòÉΓòÉΓòÉ
  3449.  
  3450. Select this check box if you want a title line to appear above the storage area 
  3451. of the Storage monitor. When you choose Column Titles, the Storage monitor 
  3452. displays the address style above the column showing addresses, and displays the 
  3453. offset of the displayed range above the column showing storage contents. 
  3454.  
  3455.  
  3456. ΓòÉΓòÉΓòÉ 4.4.1.2.1.4. Display String Literals in ASCII or EBCDIC ΓòÉΓòÉΓòÉ
  3457.  
  3458. You can view string literals in the Storage monitor in either ASCII or EBCDIC. 
  3459. The default is EBCDIC for OS/390 applications, ASCII for workstation 
  3460. applications. To change the default representation, select Options->Display 
  3461. style and choose the appropriate representation: 
  3462.  
  3463.      HEX and EBCDIC 
  3464.  
  3465.      HEX and ASCII 
  3466.  
  3467.  
  3468. ΓòÉΓòÉΓòÉ 4.4.1.2.2. Monitor Expression in Storage ΓòÉΓòÉΓòÉ
  3469.  
  3470. Select Options->Monitor Expression from the Storage monitor to enter the 
  3471. variable or expression you want to monitor. 
  3472.  
  3473. The storage monitor is updated to show the requested storage address and 
  3474. contents. This saves you from having to scroll up and down through the 
  3475. monitor's storage pane if you know what storage you want to look at. 
  3476.  
  3477. For COBOL, if a variable is added to the storage monitor, the storage monitor 
  3478. opens at the address of that variable. If the variable is of type POINTER, it 
  3479. opens at the address specified by the contents of that variable. 
  3480.  
  3481. For C++, given the code: 
  3482.  
  3483. int x=12;
  3484. int *y=&x;
  3485.  
  3486. to view the storage for x, you can enter either &x or y. 
  3487.  
  3488. Note: For C++, if you enter the name of a variable that is not a pointer, or an 
  3489. expression that is not related to pointers, the debugger shows storage 
  3490. beginning at the address corresponding to the value of the variable or 
  3491. expression. This storage may not have any connection to the variable itself or 
  3492. to the program you are debugging. Normally you would only use variables or 
  3493. expressions that evaluate to an address (for example, pointers, array names, or 
  3494. expressions containing pointers). 
  3495.  
  3496. Select the Enabled monitor check box if the expression you are entering 
  3497. evaluates to a dynamically changing address and you want the Storage monitor to 
  3498. show the storage for that changing address. For instance, if you enter a 
  3499. pointer as part of the expression, and the address contained in that pointer 
  3500. changes dynamically, the Storage monitor will display a different location in 
  3501. storage each time the pointer changes. 
  3502.  
  3503. Related Information 
  3504.  
  3505. Concepts 
  3506. Expressions 
  3507.  
  3508.  
  3509. ΓòÉΓòÉΓòÉ 4.4.1.3. Single-Precision Floating-Point Pushbutton ΓòÉΓòÉΓòÉ
  3510.  
  3511. Button:  Menu: Select Options->Display style from the Storage monitor, then 
  3512. select Single-precision floating-point float from the Content style list. 
  3513.  
  3514. This causes storage in the Storage monitor to be displayed as a series of 
  3515. single-precision floating-point numbers. Each number begins on a four-byte 
  3516. boundary. 
  3517.  
  3518.  
  3519. ΓòÉΓòÉΓòÉ 4.4.1.4. Double-Precision Floating-Point Pushbutton ΓòÉΓòÉΓòÉ
  3520.  
  3521. Button:  Menu: Select Options->Display style from the Storage monitor, then 
  3522. select Double-precision floating-point float from the Content style list. 
  3523.  
  3524. This causes storage in the Storage monitor to be displayed as a series of 
  3525. double-precision floating-point numbers. Each number begins on an eight-byte 
  3526. boundary. 
  3527.  
  3528.  
  3529. ΓòÉΓòÉΓòÉ 4.4.1.5. 32-Bit Unsigned Pushbutton ΓòÉΓòÉΓòÉ
  3530.  
  3531. Button:  Menu: Select Options->Display style (from the Storage monitor), then 
  3532. select 32-bit unsigned integer from the Content style list. 
  3533.  
  3534. This causes storage in the Storage monitor to be displayed as a series of 
  3535. 32-bit unsigned integers. Each number begins on a four-byte boundary. 
  3536.  
  3537.  
  3538. ΓòÉΓòÉΓòÉ 4.4.1.6. 32-bit Signed Pushbutton ΓòÉΓòÉΓòÉ
  3539.  
  3540. Button:  Menu: Select Options->Display style (from Storage monitor) then select 
  3541. 32-bit signed integer from the Content style list. 
  3542.  
  3543. This causes storage in the Storage monitor to be displayed as a series of 
  3544. 32-bit signed integers. Each number begins on a four-byte boundary. 
  3545.  
  3546.  
  3547. ΓòÉΓòÉΓòÉ 4.4.1.7. Character Pushbutton ΓòÉΓòÉΓòÉ
  3548.  
  3549. Button:  Menu: Select Options->Display style (from the Storage monitor) then 
  3550. select Character from the Content style list. 
  3551.  
  3552. This causes storage in the Storage monitor to be displayed as a series of 
  3553. characters. Alphanumeric characters and some punctuation characters are 
  3554. displayed normally; other characters are shown only as small dots. To view the 
  3555. value of a nondisplayed character, change to Hex and character display style 
  3556. and look for the character's hexadecimal value. 
  3557.  
  3558. The Character display style displays storage in EBCDIC. You can display 
  3559. character storage in ASCII by selecting ASCII from the Display Style dialog 
  3560. instead of Character. 
  3561.  
  3562.  
  3563. ΓòÉΓòÉΓòÉ 4.4.1.8. Hex and Character Push button ΓòÉΓòÉΓòÉ
  3564.  
  3565. Button:  Menu: Select Options->Display style from the Storage monitor, then 
  3566. select Hex and character from the Content style list. 
  3567.  
  3568. This causes storage in the Storage monitor to be displayed in columns of 
  3569. hexadecimal data, followed by a single column of characters. In the character 
  3570. section, alphanumeric characters and punctuation characters are displayed 
  3571. normally; other characters are shown only as small dots. 
  3572.  
  3573. When storage is displayed in hex and character data, the characters can be in 
  3574. either ASCII or EBCDIC format depending on the platform the debugger is running 
  3575. on. See Display String Literals in ASCII or EBCDIC for information on how to 
  3576. change the default character set. 
  3577.  
  3578.  
  3579. ΓòÉΓòÉΓòÉ 4.5. Breakpoints List Window ΓòÉΓòÉΓòÉ
  3580.  
  3581. Use the Breakpoints List window to set, delete, enable, or disable breakpoints. 
  3582. See the following topics for more information: 
  3583.  
  3584.      Introduction to the Breakpoints List window 
  3585.  
  3586.      Menus, buttons, and shortcut keys 
  3587.  
  3588.  
  3589. ΓòÉΓòÉΓòÉ 4.5.1. Menus, Buttons, and Shortcut Keys ΓòÉΓòÉΓòÉ
  3590.  
  3591. The Breakpoint List window provides the following menus, buttons, and shortcut 
  3592. keys: 
  3593.  
  3594.      File Edit Set Options Windows Help 
  3595.  
  3596.     
  3597.  
  3598.      [Ctrl+B->Session Control] [Ctrl+R->Run] 
  3599.  
  3600.  It also provides a popup menu. 
  3601.  
  3602.  
  3603. ΓòÉΓòÉΓòÉ 4.5.1.1. File Menu ΓòÉΓòÉΓòÉ
  3604.  
  3605. The File menu of the Breakpoints List window contains only one choice, Close 
  3606. Debugger. 
  3607.  
  3608.  
  3609. ΓòÉΓòÉΓòÉ 4.5.1.2. Edit Menu ΓòÉΓòÉΓòÉ
  3610.  
  3611. Use the Edit menu of the Breakpoint List window to delete, change, disable, or 
  3612. enable breakpoints that have already been set. This menu contains the following 
  3613. choices: 
  3614.  
  3615.      Delete 
  3616.  
  3617.      Disable (shown only when the highlighted breakpoint is enabled) 
  3618.  
  3619.      Enable (shown only when the highlighted breakpoint is disabled) 
  3620.  
  3621.      Modify (not supported for OS/390) 
  3622.  
  3623.      Delete all 
  3624.  
  3625.      Disable all 
  3626.  
  3627.      Enable all 
  3628.  
  3629.  
  3630. ΓòÉΓòÉΓòÉ 4.5.1.2.1. Disable ΓòÉΓòÉΓòÉ
  3631.  
  3632. To disable the currently selected breakpoint, choose Edit->Disable from the 
  3633. Breakpoints List window, or place the pointer over the breakpoint you want to 
  3634. disable. Then click on mouse button 2, and select Disable. (The breakpoint must 
  3635. be enabled for this menu choice to be shown.) 
  3636.  
  3637. When you disable a breakpoint, it does not stop execution when the program is 
  3638. run. You can later enable it by selecting Edit->Enable from the Breakpoints 
  3639. List window, or by clicking mouse button 2 on it and selecting Enable from the 
  3640. popup menu. You can also enable all disabled breakpoints by selecting 
  3641. Edit->Enable all. 
  3642.  
  3643. Related Information 
  3644.  
  3645. Procedures 
  3646. Enable and Disable Breakpoints 
  3647.  
  3648.  
  3649. ΓòÉΓòÉΓòÉ 4.5.1.2.2. Enable ΓòÉΓòÉΓòÉ
  3650.  
  3651. To enable the currently selected breakpoint, choose Edit->Enable from the 
  3652. Breakpoints List window, or place the pointer over the breakpoint, click mouse 
  3653. button 2, and select Enable. (The breakpoint must be disabled for this menu 
  3654. choice to be shown.) 
  3655.  
  3656. Disabled breakpoints are remembered by the debugger but do not cause execution 
  3657. to stop when the program runs. When you enable a disabled breakpoint, the 
  3658. debugger stops program execution whenever the breakpoint is encountered. 
  3659.  
  3660. Related Information 
  3661.  
  3662. Procedures 
  3663. Enable and Disable Breakpoints 
  3664.  
  3665.  
  3666. ΓòÉΓòÉΓòÉ 4.5.1.2.3. Modify ΓòÉΓòÉΓòÉ
  3667.  
  3668. Note: Modifying breakpoints is not supported for OS/390 debugging. You can 
  3669. still enter values in the dialog, however when you click on OK or Set, a popup 
  3670. error message displays. To modify breakpoint characteristics for OS/390 
  3671. debugging, delete the breakpoint in question and add it again with the desired 
  3672. characteristics. 
  3673.  
  3674. Select Edit->Modify from the Breakpoints List window to modify settings for the 
  3675. selected breakpoint (for example, the frequency with which it causes execution 
  3676. to stop, or what threads it applies to). After you have made the desired 
  3677. changes, click on OK. 
  3678.  
  3679. If you click on Set instead, the changes are applied and the dialog stays open. 
  3680. Subsequent changes you make within the dialog are applied to the same 
  3681. breakpoint. 
  3682.  
  3683. Related Information 
  3684.  
  3685. Procedures 
  3686. Modify Breakpoint Characteristics 
  3687.  
  3688.  
  3689. ΓòÉΓòÉΓòÉ 4.5.1.2.4. Delete all ΓòÉΓòÉΓòÉ
  3690.  
  3691. Choose Edit->Delete all from the Breakpoints List menu bar to delete all 
  3692. breakpoints in the monitor. 
  3693.  
  3694. Note: If you want to temporarily disable all breakpoints and then later 
  3695. re-enable them, use Edit->Disable all instead. 
  3696.  
  3697.  
  3698. ΓòÉΓòÉΓòÉ 4.5.1.2.5. Disable All ΓòÉΓòÉΓòÉ
  3699.  
  3700. Choose Edit->Disable all from the Breakpoints List window to disable all 
  3701. breakpoints. When you disable breakpoints, the debugger remembers where they 
  3702. are set, but does not use them to stop execution when the program is run. You 
  3703. can later enable them all by selecting Edit->Enable all. You can enable 
  3704. individual breakpoints by clicking with mouse button 2 on each breakpoint you 
  3705. want to enable, and selecting Enable from the popup menu. 
  3706.  
  3707.  
  3708. ΓòÉΓòÉΓòÉ 4.5.1.2.6. Enable All ΓòÉΓòÉΓòÉ
  3709.  
  3710. Choose Edit->Enable all from the Breakpoints List window to enable all 
  3711. breakpoints that have been disabled. 
  3712.  
  3713.  
  3714. ΓòÉΓòÉΓòÉ 4.5.1.3. Set Menu ΓòÉΓòÉΓòÉ
  3715.  
  3716. Use the Set menu of the Breakpoint List window to set various kinds of 
  3717. breakpoints through a dialog. This menu contains the following choices: 
  3718.  
  3719.      Set line 
  3720.  
  3721.      Set entry 
  3722.  
  3723.      Set storage change 
  3724.  
  3725.      Set load occurrence 
  3726.  
  3727.  
  3728. ΓòÉΓòÉΓòÉ 4.5.1.3.1. Set Line ΓòÉΓòÉΓòÉ
  3729.  
  3730. Select Set->Set Line, or select Line breakpoint from the prefix area popup 
  3731. menu, to set a line breakpoint at a particular line number. In the dialog that 
  3732. appears, you can specify what executable and source file you want to set the 
  3733. breakpoint in. If the source code consists of several files (that is, if one or 
  3734. more files include other files) you can select which source file the breakpoint 
  3735. should be set in from the Include File pulldown list. 
  3736.  
  3737. Type a line number in the Line entry field. The breakpoint is set on that line 
  3738. number. 
  3739.  
  3740. More information is available on the following entry field items: 
  3741.  
  3742.      Thread 
  3743.  
  3744.      Defer breakpoint 
  3745.  
  3746.      Frequency 
  3747.  
  3748.  
  3749. ΓòÉΓòÉΓòÉ 4.5.1.3.2. Set Function ΓòÉΓòÉΓòÉ
  3750.  
  3751. Select Set->Set Function to set a breakpoint at the start of a function. Select 
  3752. Set->Set Entry to set a breakpoint at an entry point. In the dialog that 
  3753. appears, type the name of the function in the Function entry field, or select 
  3754. the List button and click on the function you want. You can also specify what 
  3755. executable and source file you want to set the breakpoint in. If the source 
  3756. code consists of several files (that is, if one or more files include other 
  3757. files) select which source file to set the breakpoint in from the Include File 
  3758. pulldown list. 
  3759.  
  3760. More information is available on the following entry field items: 
  3761.  
  3762.      Thread 
  3763.  
  3764.      Frequency 
  3765.  
  3766.  If the function you specified is an overloaded C++ function (your program 
  3767.  contains two or more functions with the same name but different signatures), 
  3768.  an Overloaded dialog appears, displaying a list of the overloads of the 
  3769.  function. Choose the desired one from the list. 
  3770.  
  3771.  
  3772. ΓòÉΓòÉΓòÉ 4.5.1.3.3. Set Storage Change ΓòÉΓòÉΓòÉ
  3773.  
  3774. Use the Set storage change choice to cause execution to stop whenever storage 
  3775. at a specific address is written to. Execution stops even if the value written 
  3776. to storage is the value that was already present at that address. 
  3777.  
  3778. Caution: If you set a storage change breakpoint for an address that is on the 
  3779. call stack, be sure to remove the breakpoint before leaving the routine 
  3780. associated with it. Otherwise, when you return from the routine, the routine's 
  3781. stack frame will be removed from the stack, but the breakpoint will still be 
  3782. active. Any other routine that gets loaded on the stack will then contain the 
  3783. breakpoint. 
  3784.  
  3785. In the Address or Expression entry field, you can type the address or a 
  3786. variable name or expression that evaluates to a valid address. 
  3787.  
  3788. C++: You can also enter the address of a variable, by preceding the variable 
  3789. name with an ampersand (for example, &myVariable). 
  3790.  
  3791. COBOL: For POINTER variables, the contents of the variable are used as the 
  3792. address. For all other variables, the address of the variable is used. 
  3793.  
  3794. Note: If you type FEEDBEEF in the Address or expression entry field, and there 
  3795. is a variable named FEEDBEEF, the debugger will interpret the entry as the 
  3796. variable FEEDBEEF, not the hex value FEEDBEEF. 
  3797.  
  3798. More information is available on the following fields: 
  3799.  
  3800.      Bytes to monitor 
  3801.  
  3802.      Thread 
  3803.  
  3804.      Frequency 
  3805.  
  3806.  Related Information 
  3807.  
  3808.  Reference 
  3809.  Expressions Supported 
  3810.  Valid Addresses and Expressions 
  3811.  
  3812.  
  3813. ΓòÉΓòÉΓòÉ 4.5.1.3.3.1. Bytes to Monitor ΓòÉΓòÉΓòÉ
  3814.  
  3815. Select a value from Bytes to Monitor on the Storage Change Breakpoint dialog to 
  3816. tell the debugger the number of bytes you want it to monitor. 
  3817.  
  3818. You can monitor 1 to 128 bytes. 
  3819.  
  3820.  
  3821. ΓòÉΓòÉΓòÉ 4.5.1.3.3.2. Set Load Occurrence ΓòÉΓòÉΓòÉ
  3822.  
  3823. Select Set Load Occurrence to set a breakpoint that will stop execution when 
  3824. the DLL you specify has been loaded.  In the Load Occurrence Breakpoint dialog, 
  3825. type the name of the DLL or program in the DLL File Name entry field. For 
  3826. example, if the DLL or program is in the partitioned data set A.B.LOAD(HELLO), 
  3827. you would enter only the member name, HELLO. Execution stops when the DLL or 
  3828. program is loaded. 
  3829.  
  3830. For information on other fields in this dialog, see the following: 
  3831.  
  3832.      Thread 
  3833.  
  3834.      Frequency (From/To/Every) 
  3835.  
  3836.  
  3837. ΓòÉΓòÉΓòÉ 4.5.1.4. Options Menu ΓòÉΓòÉΓòÉ
  3838.  
  3839. The Options menu of the Breakpoints List window contains the following choices: 
  3840.  
  3841.      Fonts 
  3842.  
  3843.      Display style 
  3844.  
  3845.      Sort 
  3846.  
  3847.      Restore defaults 
  3848.  
  3849.      Tool buttons 
  3850.  
  3851.      Hover help 
  3852.  
  3853.      Infoarea 
  3854.  
  3855.  
  3856. ΓòÉΓòÉΓòÉ 4.5.1.4.1. Display Style ΓòÉΓòÉΓòÉ
  3857.  
  3858. You can change the way items in the Breakpoint List window are displayed by 
  3859. selecting Options->Display style, then selecting those items you want from the 
  3860. Select Items list in the Display Style dialog. 
  3861.  
  3862. The Select Items list in the Display Style dialog contains the following items: 
  3863.  
  3864.  Type      The type of breakpoint, for example, Line or Address 
  3865.  
  3866.  Executable The name of the executable file the breakpoint applies to 
  3867.  
  3868.  Source    The name of the compilation unit the breakpoint applies to 
  3869.  
  3870.  File      The source file 
  3871.  
  3872.  Function  The function containing the breakpoint 
  3873.  
  3874.  Line      The line containing the breakpoint 
  3875.  
  3876.  Address   The address of the breakpoint 
  3877.  
  3878.  State     Whether the breakpoint is enabled or disabled 
  3879.  
  3880.  Status    Whether the breakpoint is active or deferred (a deferred breakpoint 
  3881.            is a breakpoint set in a compile unit that has not yet been loaded) 
  3882.  
  3883.  Thread    What threads the breakpoint applies to 
  3884.  
  3885.  Expression An optional expression that must evaluate to true for the 
  3886.            breakpoint to cause execution to stop. 
  3887.  
  3888.  From      The first encounter of the breakpoint that causes execution to stop. 
  3889.            For example, if this value is set to 5, each run command could, if 
  3890.            no other breakpoints are encountered and the program does not 
  3891.            terminate, pass over the breakpoint four times before stopping the 
  3892.            fifth time. 
  3893.  
  3894.  To        The last encounter of the breakpoint that causes execution to stop. 
  3895.  
  3896.  Every     The frequency at which encounters of the breakpoint cause execution 
  3897.            to stop. For example, if Every is set to 2, the breakpoint causes 
  3898.            execution to stop every other time the breakpoint is encountered. 
  3899.  
  3900.  If you select the Reset pushbutton any changes you have made in the Display 
  3901.  Style dialog are discarded, and the dialog is refreshed to show the display 
  3902.  style in effect when you opened the dialog. If you select Default the default 
  3903.  items are displayed in the Breakpoint List window. 
  3904.  
  3905.  
  3906. ΓòÉΓòÉΓòÉ 4.5.1.4.2. Sort ΓòÉΓòÉΓòÉ
  3907.  
  3908. You can change the order of items in the Breakpoint List window by selecting 
  3909. Options->Sort, then selecting the item you want the debugger to sort on from 
  3910. the Select Item list in the Sort dialog. By default, breakpoints are sorted by 
  3911. line number. 
  3912.  
  3913.  
  3914. ΓòÉΓòÉΓòÉ 4.5.1.5. Defer Breakpoint ΓòÉΓòÉΓòÉ
  3915.  
  3916. Select the Defer breakpoint check box from within the Line Breakpoint dialog if 
  3917. you want to set a line breakpoint in a compile unit that is not currently 
  3918. loaded. 
  3919.  
  3920. When a compile unit in which you have set a deferred breakpoint is loaded, the 
  3921. breakpoint state changes from deferred to active. When the compile unit is 
  3922. freed, the breakpoint state changes back to deferred. 
  3923.  
  3924. If you enter an incorrect source, file, or line number, the debugger will be 
  3925. unable to activate the breakpoint when the compile unit is loaded, and the 
  3926. breakpoint will remain in the deferred state. 
  3927.  
  3928. Note: You cannot set a deferred breakpoint in a preloaded compile unit, but you 
  3929. can set one in a program that has some preloaded compile units and some 
  3930. dynamically loaded ones. 
  3931.  
  3932. Related Information 
  3933.  
  3934. Procedures 
  3935. Set a Deferred Breakpoint 
  3936.  
  3937.  
  3938. ΓòÉΓòÉΓòÉ 4.5.2. Thread ΓòÉΓòÉΓòÉ
  3939.  
  3940. The Thread pulldown list in a Set breakpoint or Modify breakpoint dialog lets 
  3941. you choose what threads to activate the breakpoint in. To select a thread ID 
  3942. from the list, select the List button, then highlight the thread where you want 
  3943. to set the breakpoint. 
  3944.  
  3945.  
  3946. ΓòÉΓòÉΓòÉ 4.5.3. Defer Breakpoint ΓòÉΓòÉΓòÉ
  3947.  
  3948. Select the Defer breakpoint check box if you want to set a function breakpoint 
  3949. in a DLL or subprogram that is not currently loaded. 
  3950.  
  3951. If you set a deferred function breakpoint on a C++ function, and that function 
  3952. is overloaded, the debugger sets the breakpoint in all of the overloaded 
  3953. functions when the DLL or subprogram is loaded. 
  3954.  
  3955. When a DLL or subprogram in which you have set a deferred breakpoint is loaded, 
  3956. the breakpoint state changes from deferred to active. When the DLL or 
  3957. subprogram is freed, the breakpoint state changes back to deferred. 
  3958.  
  3959. If you enter an incorrect source, file, or function, the debugger will be 
  3960. unable to activate the breakpoint when the DLL or subprogram is loaded, and the 
  3961. breakpoint will remain in the deferred state. 
  3962.  
  3963. Note: You cannot set a deferred breakpoint in a preloaded DLL or subprogram, 
  3964. but you can set one in a program that has some preloaded DLL or subprograms and 
  3965. some dynamically loaded ones. 
  3966.  
  3967.  
  3968. ΓòÉΓòÉΓòÉ 4.5.4. Frequency ΓòÉΓòÉΓòÉ
  3969.  
  3970. Use the Frequency fields to tell the debugger when to stop on a breakpoint and 
  3971. when to skip it. The debugger keeps track of how many times each breakpoint is 
  3972. encountered. The fields in this section tell the debugger on which encounter of 
  3973. a breakpoint the debugger should first stop, how often it should stop, and on 
  3974. which encounter the debugger should no longer stop. 
  3975.  
  3976. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  3977. ΓöéEntry field                           ΓöéPurpose                              Γöé
  3978. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3979. ΓöéFrom                                  ΓöéEnter the first breakpoint encounter Γöé
  3980. Γöé                                      Γöéyou want the debugger to stop on. ForΓöé
  3981. Γöé                                      Γöéexample, if you want the debugger to Γöé
  3982. Γöé                                      Γöéskip over the breakpoint the first   Γöé
  3983. Γöé                                      Γöéfive times it is encountered, enter  Γöé
  3984. Γöé                                      Γöé'6'.                                 Γöé
  3985. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3986. ΓöéTo                                    ΓöéEnter the last breakpoint encounter  Γöé
  3987. Γöé                                      Γöéyou want the debugger to stop on. ForΓöé
  3988. Γöé                                      Γöéexample, if you want it to start     Γöé
  3989. Γöé                                      Γöéignoring the breakpoint after the    Γöé
  3990. Γöé                                      Γöé20th encounter, enter '20'. To have  Γöé
  3991. Γöé                                      Γöéit always stop on the breakpoint,    Γöé
  3992. Γöé                                      Γöéenter 'Infinity'.                    Γöé
  3993. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  3994. ΓöéEvery                                 ΓöéEnter the frequency with which you   Γöé
  3995. Γöé                                      Γöéwant the debugger to stop on this    Γöé
  3996. Γöé                                      Γöébreakpoint. For example, if you want Γöé
  3997. Γöé                                      Γöéit to stop on only one out of every  Γöé
  3998. Γöé                                      Γöéfour it encounters, enter '4'.       Γöé
  3999. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  4000.  
  4001.  
  4002. ΓòÉΓòÉΓòÉ 4.5.5. Expression ΓòÉΓòÉΓòÉ
  4003.  
  4004. Note: The Expression entry field in breakpoint dialogs is not available for 
  4005. COBOL programs running on OS/390. 
  4006.  
  4007. If you are setting a line breakpoint or function breakpoint in a C++ program, 
  4008. or a line or address breakpoint in a COBOL or PL/I program, you can type an 
  4009. expression into the Expression entry field in a Set breakpoint or Modify 
  4010. breakpoint dialog. The execution of the program stops at the breakpoint only if 
  4011. the condition specified in this field tests true. 
  4012.  
  4013. For example, if you are debugging a C++ program you could type the following: 
  4014.  
  4015. (i==1) || (j==k) && (k!=5)
  4016.  
  4017. For a COBOL  program, you could type the following: 
  4018.  
  4019. myvar = 'abc'
  4020.  
  4021. Note: Variables in a conditional expression that is associated with a function 
  4022. breakpoint are limited to any static or global variables known to the called 
  4023. function when the function is called. The expression cannot contain local or 
  4024. automatic variables. 
  4025.  
  4026. Related Information 
  4027.  
  4028. Reference 
  4029. Expressions Supported 
  4030.  
  4031.  
  4032. ΓòÉΓòÉΓòÉ 4.5.6. Breakpoints List Popup Menu ΓòÉΓòÉΓòÉ
  4033.  
  4034. In the Breakpoints List window, if your pointer is on a line containing 
  4035. breakpoint information and you click on mouse button 2, a popup menu appears 
  4036. with the following choices that affect breakpoints: 
  4037.  
  4038.      View 
  4039.  
  4040.      Delete - deletes the selected breakpoint 
  4041.  
  4042.      Enable (if breakpoint is currently disabled) 
  4043.  
  4044.      Disable (if breakpoint is currently enabled) 
  4045.  
  4046.      Modify (not supported on OS/390) - opens a dialog that lets you change 
  4047.       the breakpoint 
  4048.  
  4049.      Delete all - deletes all the breakpoints 
  4050.  
  4051.  Related Information 
  4052.  
  4053.  Procedures 
  4054.  Delete Breakpoints 
  4055.  Modify Breakpoint Characteristics 
  4056.  Delete All Breakpoints 
  4057.  
  4058.  
  4059. ΓòÉΓòÉΓòÉ 4.6. Session Control Window ΓòÉΓòÉΓòÉ
  4060.  
  4061. The Session Control window is open throughout the debugging session. It shows 
  4062. the current status of the debugger, and gives you a number of ways to access 
  4063. other windows or perform common functions. See the following topics for more 
  4064. information: 
  4065.  
  4066.      Introduction to the Session Control window 
  4067.  
  4068.      Menus, buttons, and shortcut keys 
  4069.  
  4070.  
  4071. ΓòÉΓòÉΓòÉ 4.6.1. Using the Components Pane ΓòÉΓòÉΓòÉ
  4072.  
  4073. You can expand any item in the Components pane that has a '+' beside it. The 
  4074. following list shows what items you can expand, and what items appear when you 
  4075. do: 
  4076.  
  4077.  Item with + Expands to 
  4078.  
  4079.  *(corresponds to the load module) A list of compile units. A compile unit does 
  4080.            not appear in the list until it has been called. 
  4081.  
  4082.  Compile unit The names of nested programs 
  4083.  
  4084.  Source file (C++ only): File-scope functions and class member functions 
  4085.            defined within each source file. C++ class member functions are not 
  4086.            shown. 
  4087.  
  4088.  To shift the focus within the Session Control window between the Threads and 
  4089.  Components panes, use the pointer or the cursor left and right keys. To move 
  4090.  between items in the list, use the mouse or the cursor up and down keys. To 
  4091.  expand or collapse items in the list, use the + and - keys. 
  4092.  
  4093.  To open or raise the focus of the Source window for , double-click on the 
  4094.  item, or highlight it and press Enter. 
  4095.  
  4096.  To access the popup menu for a function, select that function and click on 
  4097.  mouse button 2 . This menu lets you set a breakpoint on the function or view 
  4098.  its source code. 
  4099.  
  4100.  
  4101. ΓòÉΓòÉΓòÉ 4.6.2. Using the Threads Pane ΓòÉΓòÉΓòÉ
  4102.  
  4103. When you expand a thread in the Threads pane, the thread's priority is visible. 
  4104.  
  4105. To move between items in the list, use the mouse or the cursor up and down 
  4106. keys. To expand or collapse items in the list, use the + and - keys. 
  4107.  
  4108. To open or raise the focus of the Source window for a thread, press the Enter 
  4109. key while the thread is highlighted, or double-click on it. 
  4110.  
  4111. To access a popup menu for a highlighted thread, click mouse button 2. This 
  4112. menu lets you disable or enable the thread, access monitors specific to it, or 
  4113. jump to the execution point in the Source window for the thread. 
  4114.  
  4115. To enable a disabled thread or disable an enabled one, select the thread, then 
  4116. choose Run->Thread enabled. This toggles the current enablement for that 
  4117. thread. If the thread is enabled, a checkmark appears beside Thread enabled. 
  4118.  
  4119. Note: In the Source window, the current execution line is reverse-highlighted 
  4120. in black. When a thread becomes disabled, the current execution line for that 
  4121. thread's Source Window changes to gray. 
  4122.  
  4123. For guidance on designing and debugging multithreaded programs, see Debugging 
  4124. Threads. 
  4125.  
  4126.  
  4127. ΓòÉΓòÉΓòÉ 4.6.3. Menus, Buttons, and Shortcut Keys ΓòÉΓòÉΓòÉ
  4128.  
  4129. The Session Control window provides the following menus, buttons, and shortcut 
  4130. keys: 
  4131.  
  4132.      File Breakpoints Monitors Run Options Windows Help 
  4133.  
  4134.     
  4135.  
  4136.      [Ctrl+E->Registers] [Ctrl+G->Storage] [Ctrl+K->Call Stack] 
  4137.       [Ctrl+P->Source] [Ctrl+R->Run] [Ctrl+V->Local variables] [Ctrl+X-> 
  4138.       Breakpoint list] 
  4139.  
  4140.  The Session Control window also has a popup menu. 
  4141.  
  4142.  
  4143. ΓòÉΓòÉΓòÉ 4.6.3.1. Shortcut Keys ΓòÉΓòÉΓòÉ
  4144.  
  4145. The Session Control window provides the following shortcut keys: 
  4146.  
  4147.      [Ctrl+E->Registers] 
  4148.  
  4149.      [Ctrl+G->Storage] 
  4150.  
  4151.      [Ctrl+K->Call Stack] 
  4152.  
  4153.      [Ctrl+P->Source] 
  4154.  
  4155.      [Ctrl+R->Run] 
  4156.  
  4157.      [Ctrl+V->Local variables] 
  4158.  
  4159.      [Ctrl+X-> Breakpoint list] 
  4160.  
  4161.  
  4162. ΓòÉΓòÉΓòÉ 4.6.3.2. Breakpoints Menu ΓòÉΓòÉΓòÉ
  4163.  
  4164. Use the Breakpoints menu to set and delete breakpoints. It contains the 
  4165. following choices: 
  4166.  
  4167.      Set line 
  4168.  
  4169.      Set function 
  4170.  
  4171.      Set storage change 
  4172.  
  4173.      Set load occurrence 
  4174.  
  4175.      List -- [Ctrl+X] 
  4176.  
  4177.      Delete All - Deletes all breakpoints 
  4178.  
  4179.  Related Information 
  4180.  
  4181.  Procedures 
  4182.  Delete All Breakpoints 
  4183.  
  4184.  
  4185. ΓòÉΓòÉΓòÉ 4.6.3.3. Options Menu ΓòÉΓòÉΓòÉ
  4186.  
  4187. The Options menu in the Session Control window lets you change settings for the 
  4188. window and for the debugger itself. It contains the following choices: 
  4189.  
  4190.      Window settings 
  4191.  
  4192.      Debugger settings 
  4193.  
  4194.  
  4195. ΓòÉΓòÉΓòÉ 4.6.3.3.1. Display Style ΓòÉΓòÉΓòÉ
  4196.  
  4197. Select Options->Window settings->Display style to specify what you want 
  4198. displayed in the Session Control window. The dialog contains the following 
  4199. check boxes: 
  4200.  
  4201.  Check box Effect when checked 
  4202.  
  4203.  Show all components All components are displayed (when this choice is not 
  4204.            checked, only components with debug information are displayed) 
  4205.  
  4206.  Show module path The path name is displayed 
  4207.  
  4208.  Sort components Components are sorted in alphabetical order 
  4209.  
  4210.  Sort threads Threads are sorted in numerical order 
  4211.  
  4212.  Show status line A status line is displayed, showing the current state of the 
  4213.            debugger (for example, Executing) 
  4214.  
  4215.  
  4216. ΓòÉΓòÉΓòÉ 4.6.3.3.2. Window Settings ΓòÉΓòÉΓòÉ
  4217.  
  4218. Select the Window settings cascading choices from the Session Control window 
  4219. Options menu to modify these settings: 
  4220.  
  4221.  Fonts     Lets you change the font for the Session Control window. 
  4222.  
  4223.  Display style Opens a Display Style dialog where you can specify how 
  4224.            information in the Session Control window should appear. 
  4225.  
  4226.  Restore defaults Resets all settings for the Session Control window to their 
  4227.            original values. 
  4228.  
  4229.  Tool buttons Displays or hides the toolbar buttons for the window. 
  4230.  
  4231.  Hover help Enables or disables hover help, which provides brief descriptions 
  4232.            of menu choices and toolbar buttons when your pointing device passes 
  4233.            over them. 
  4234.  
  4235.  Infoarea  Enables or disables the window's information area, which provides 
  4236.            longer textual descriptions of menu choices and toolbar buttons when 
  4237.            your pointing device passes over them. 
  4238.  
  4239.  
  4240. ΓòÉΓòÉΓòÉ 4.6.3.3.3. Set Breakpoints at Entry Points ΓòÉΓòÉΓòÉ
  4241.  
  4242. Select the Set breakpoints at entry points  check box in the Debugger 
  4243. Properties dialog of the Session Control window to automatically set a 
  4244. breakpoint at each function. 
  4245.  
  4246.  
  4247. ΓòÉΓòÉΓòÉ 4.6.3.4. Threads/Components Popup Menu ΓòÉΓòÉΓòÉ
  4248.  
  4249. Popup menus are available for both the Threads pane and the Components pane of 
  4250. the Session Control window. 
  4251.  
  4252. In the Threads pane, when you highlight the main entry for a thread and click 
  4253. mouse button 2, the popup menu displays a subset of the following choices: 
  4254.  
  4255.      Execution point -- opens or raises a Source window showing the next line 
  4256.       to be executed in the thread 
  4257.  
  4258.      Enable -- changes a disabled thread's state to enabled, so that it can 
  4259.       run (shown only for disabled threads) 
  4260.  
  4261.      Disable -- changes an enabled thread's state to disabled, to prevent it 
  4262.       from running (shown only for enabled threads) 
  4263.  
  4264.      Registers -- opens or raises a Registers monitor for that thread 
  4265.  
  4266.      Call Stack -- opens or raises a Call Stack window for that thread 
  4267.  
  4268.      Local variables -- opens or raises a Local Variables window for that 
  4269.       thread 
  4270.  
  4271.  In the Components pane, if you click mouse button 2 over a function, the popup 
  4272.  menu contains the following choices: 
  4273.  
  4274.      View -- open or raise a Source window for the file or function 
  4275.  
  4276.      Set function breakpoint -- set a breakpoint at the start of this 
  4277.       function, for the current thread only 
  4278.  
  4279.      Set breakpoint every -- set a breakpoint at the start of the function, 
  4280.       for all threads 
  4281.  
  4282.  If you click mouse button 2 over an object file, the popup menu contains only 
  4283.  the View choice. 
  4284.  
  4285.  
  4286. ΓòÉΓòÉΓòÉ 4.6.3.5. Source ΓòÉΓòÉΓòÉ
  4287.  
  4288. Menu: Windows->Source from the Session Control window Keystroke: Ctrl+P 
  4289.  
  4290. Opens or raises a Source window. When you use Ctrl+P to access a source window, 
  4291. the source window raised or opened contains the contents of the active thread 
  4292. and function. When you use the Windows menu and more than one Source window is 
  4293. currently open, a Source choice is available for each open Source window. 
  4294.  
  4295.  
  4296. ΓòÉΓòÉΓòÉ 4.7. Monitor Expression Dialog ΓòÉΓòÉΓòÉ
  4297.  
  4298. Use the Monitor Expression dialog to add a variable or expression to one of the 
  4299. following monitors, which are listed in the dialog within a radio button group 
  4300. box: 
  4301.  
  4302.      Popup 
  4303.  
  4304.      Private 
  4305.  
  4306.      Program 
  4307.  
  4308.      Storage 
  4309.  
  4310.  The current context is shown in an information group box. This is the context 
  4311.  (file, line number, etc.) that the debugger uses in evaluating the expression 
  4312.  you enter. 
  4313.  
  4314.  Type in an expression, and either click on OK or Monitor. OK closes the 
  4315.  dialog, while Monitor leaves the dialog open so that you can add more 
  4316.  expressions. 
  4317.  
  4318.  If the expression you want to add is already in your source code, you can 
  4319.  place that expression in the Expression entry field in the Monitor Expression 
  4320.  dialog as follows: highlight it with the mouse, then select Monitor->Monitor 
  4321.  expression or click on the  toolbar button. 
  4322.  
  4323.  See Expressions Supported for more information on what types of expressions 
  4324.  the debugger supports. 
  4325.  
  4326.  Related Information 
  4327.  
  4328.  Concepts 
  4329.  Expressions 
  4330.  
  4331.  
  4332. ΓòÉΓòÉΓòÉ 4.7.1. Current Context ΓòÉΓòÉΓòÉ
  4333.  
  4334. The context group box on the right side of the Monitor Expression dialog shows 
  4335. the current execution point in your program: the file name, line number, type 
  4336. of view, and thread number. 
  4337.  
  4338. If you have tried to add an expression to a monitor and the debugger issues the 
  4339. error message 'Expression validation failed', you may have included 
  4340. out-of-scope variables or constants in your expression. If you are familiar 
  4341. with the structure of your program, the Context group box may help you 
  4342. determine if scoping problems are the cause of the error. 
  4343.  
  4344. See Expressions Supported for information on what types of expressions the 
  4345. debugger supports. 
  4346.  
  4347.  
  4348. ΓòÉΓòÉΓòÉ 4.8. Popup Monitor ΓòÉΓòÉΓòÉ
  4349.  
  4350. A Popup monitor displays a variable or expression you select for monitoring. 
  4351. This monitor is associated with a specific Source window and closes when the 
  4352. associated window closes. Each time you add a variable or expression to a Popup 
  4353. monitor, a new Popup monitor opens. The contents of each Popup monitor are 
  4354. updated after each Step or Run command (except for disabled variables or 
  4355. expressions within such windows). 
  4356.  
  4357. You can do the following from a Popup monitor: 
  4358.  
  4359.      Access a popup menu using mouse button 2 
  4360.  
  4361.      Change the contents of a variable 
  4362.  
  4363.  The Popup monitor has the following menu items on its titlebar menu: 
  4364.  
  4365.      File 
  4366.  
  4367.      Options 
  4368.  
  4369.      Help 
  4370.  
  4371.  Related Information 
  4372.  
  4373.  Procedures 
  4374.  Add Expressions and Variables to a Monitor 
  4375.  
  4376.  
  4377. ΓòÉΓòÉΓòÉ 4.8.1. File Menu ΓòÉΓòÉΓòÉ
  4378.  
  4379. The File menu of the Popup monitor contains only one choice, Close Debugger. 
  4380.  
  4381.  
  4382. ΓòÉΓòÉΓòÉ 4.8.2. Popup Menu for the Popup Monitor ΓòÉΓòÉΓòÉ
  4383.  
  4384. To access a popup menu from within a Popup window, place the pointer over a 
  4385. monitored variable or expression, and click mouse button 2. Depending on the 
  4386. variable or expression you selected, the popup menu provides a subset of the 
  4387. following choices: 
  4388.  
  4389.      Edit 
  4390.  
  4391.      Next representation 
  4392.  
  4393.      Change font 
  4394.  
  4395.      Dereference  (not available for COBOL) 
  4396.  
  4397.      Delete 
  4398.  
  4399.      Enable 
  4400.  
  4401.      Disable 
  4402.  
  4403.  
  4404. ΓòÉΓòÉΓòÉ 4.8.2.1. Change Font ΓòÉΓòÉΓòÉ
  4405.  
  4406. Choose Change font from the popup menu in a Popup monitor to change the font 
  4407. used within that particular monitor. Choose the desired font from the Font 
  4408. Selection dialog that appears. 
  4409.  
  4410.  
  4411. ΓòÉΓòÉΓòÉ 4.9. Private Monitor ΓòÉΓòÉΓòÉ
  4412.  
  4413. Use a Private monitor to monitor variables or expressions from a given Source 
  4414. window. Each Source window can have its own Private monitor. This monitor is 
  4415. similar to the Program monitor. 
  4416.  
  4417. See the following for more information: 
  4418.  
  4419.      Introduction to the Private Monitor 
  4420.  
  4421.      Monitor popup menu 
  4422.  
  4423.      Menus, buttons, and shortcut keys 
  4424.  
  4425.  Related Information 
  4426.  
  4427.  Concepts 
  4428.  Differences between Program and Private Monitors 
  4429.  
  4430.  
  4431. ΓòÉΓòÉΓòÉ 4.9.1. Menus, Buttons, and Shortcut Keys ΓòÉΓòÉΓòÉ
  4432.  
  4433. The Private monitor provides the following menus, buttons, and shortcut keys: 
  4434.  
  4435.      Edit Options Help 
  4436.  
  4437.     
  4438.  
  4439.      [Ctrl+B->Session Control] [Ctrl+R->Run] 
  4440.  
  4441.  The Private monitor also has a popup menu. To access it, place the pointer 
  4442.  within the content area of the window and click mouse button 2. 
  4443.  
  4444.  
  4445. ΓòÉΓòÉΓòÉ 4.9.1.1. Edit Menu ΓòÉΓòÉΓòÉ
  4446.  
  4447. The Edit menu of both the Program monitor and Private monitor contains the 
  4448. following choices: 
  4449.  
  4450.      Delete 
  4451.  
  4452.      Delete all 
  4453.  
  4454.      Select all 
  4455.  
  4456.      Deselect all 
  4457.  
  4458.      Enable 
  4459.  
  4460.      Disable 
  4461.  
  4462.      Other elements 
  4463.  
  4464.      Representation 
  4465.  
  4466.  
  4467. ΓòÉΓòÉΓòÉ 4.9.1.1.1. Delete ΓòÉΓòÉΓòÉ
  4468.  
  4469. Select Edit->Delete from the monitor menu bar, or Delete from a monitor popup 
  4470. menu, to delete the selected variables or expressions from the monitor. 
  4471.  
  4472. To delete all expressions, select Edit->Delete all. 
  4473.  
  4474.  
  4475. ΓòÉΓòÉΓòÉ 4.9.1.1.2. Delete All ΓòÉΓòÉΓòÉ
  4476.  
  4477. Choose Edit->Delete all from the monitor menu bar to delete all expressions and 
  4478. variables in the monitor. 
  4479.  
  4480. Note: If you delete an expression or variable and then later decide that you 
  4481. want to monitor it, you must add it again from the Source window. 
  4482.  
  4483.  
  4484. ΓòÉΓòÉΓòÉ 4.9.1.1.3. Disable ΓòÉΓòÉΓòÉ
  4485.  
  4486. Select Edit->Disable from the monitor menu bar, or Disable from the monitor 
  4487. popup menu, to prevent the displayed contents of the selected variables or 
  4488. expressions from being updated when they change. 
  4489.  
  4490.  
  4491. ΓòÉΓòÉΓòÉ 4.9.1.1.4. Enable ΓòÉΓòÉΓòÉ
  4492.  
  4493. Select Edit->Enable from the monitor menu bar to have the debugger refresh the 
  4494. displayed contents of the selected variables or expressions whenever they 
  4495. change. Variables and expressions are enabled by default, so this choice is 
  4496. only available if a variable or expression has been disabled. 
  4497.  
  4498.  
  4499. ΓòÉΓòÉΓòÉ 4.9.1.1.5. Other Elements ΓòÉΓòÉΓòÉ
  4500.  
  4501. If an array, structure, or C++ class object in a monitor contains more than 50 
  4502. elements, only 50 elements are displayed at a time. By default, the first 50 
  4503. elements are displayed. To display a different range of elements, select 
  4504. Edit->Other elements (or select Other elements from the monitor popup menu), 
  4505. and enter the number of the first element to display. 
  4506.  
  4507. You can change the default maximum of 50 elements to a different maximum by 
  4508. setting the DEBUG_NUMBEROFELEMENTS environment variable on the local 
  4509. workstation before starting the debugger. 
  4510.  
  4511. In a C++ class object, elements are listed in declaration order, regardless of 
  4512. their access specifier (private, protected or public). 
  4513.  
  4514. The 50-element limit applies to each level within an array or a C++ class 
  4515. object. For example, if a C++ class contains 100 member variables and the first 
  4516. variable is a 60-element array, the debugger displays the name of the array 
  4517. only (with a '+' to its left so that you can expand it) and the next 49 
  4518. elements of the C++ class object. When you expand the array, the debugger 
  4519. displays the first 50 elements of the array, and the next 49 elements of the 
  4520. C++ class object. To view more elements of the array, position the pointer on 
  4521. the array name and select Other elements. To view more elements of the C++ 
  4522. class object, position the pointer on the object name and select Other 
  4523. elements. 
  4524.  
  4525.  
  4526. ΓòÉΓòÉΓòÉ 4.9.1.1.6. Representation, Next Representation ΓòÉΓòÉΓòÉ
  4527.  
  4528. Select Edit->Representation, or Next representation from the monitor popup 
  4529. menu, to change the representation of monitor contents. 
  4530.  
  4531. Edit->Representation: 
  4532.  
  4533. The available representations for the selected variable or element are shown in 
  4534. a cascading menu. For example, for a 32-bit signed integer, the available 
  4535. representations are decimal and hexadecimal. 
  4536.  
  4537. Next representation (from the monitor popup menu, or from the  toolbar button): 
  4538.  
  4539. The next representation of the selected variable or element is shown. The 
  4540. debugger cycles through available representations in the same order as would be 
  4541. shown in the Edit->Representation cascading menu list for the selected item. 
  4542.  
  4543.  
  4544. ΓòÉΓòÉΓòÉ 4.9.2. Options Menu ΓòÉΓòÉΓòÉ
  4545.  
  4546. The Options menu of the Private and Program monitors contains the following 
  4547. choices: 
  4548.  
  4549.      Fonts 
  4550.  
  4551.      Restore defaults 
  4552.  
  4553.      Show enablement 
  4554.  
  4555.      Show context 
  4556.  
  4557.      Tool buttons 
  4558.  
  4559.      Hover help 
  4560.  
  4561.      Infoarea 
  4562.  
  4563.  
  4564. ΓòÉΓòÉΓòÉ 4.9.2.1. Show Enablement ΓòÉΓòÉΓòÉ
  4565.  
  4566. You can disable a variable or expression within a monitor so that its displayed 
  4567. contents are not updated when the variable or expression changes. Later you can 
  4568. enable the variable or expression so that its contents are updated. Select 
  4569. Options->Show enablement if you want the current enablement of each variable or 
  4570. expression to be shown. A column appears that shows either 'Enabled' or 
  4571. 'Disabled' for each entry in the monitor. 
  4572.  
  4573.  
  4574. ΓòÉΓòÉΓòÉ 4.9.2.2. Show Context ΓòÉΓòÉΓòÉ
  4575.  
  4576. Select Options->Show context from a monitor window to display the following 
  4577. information in separate columns for each object or array: 
  4578.  
  4579.      The name of the data set (PDS and member, if applicable) that contains 
  4580.       the source  where the object or array is declared 
  4581.  
  4582.      The line number 
  4583.  
  4584.      The thread number 
  4585.  
  4586.      The variable or expression name 
  4587.  
  4588.  This information is only shown once for each object or array. 
  4589.  
  4590.  
  4591. ΓòÉΓòÉΓòÉ 4.10. Program Monitor ΓòÉΓòÉΓòÉ
  4592.  
  4593. Use the Program monitor to collect variables or expressions that you want to 
  4594. monitor. This monitor is not associated with any specific Source window, and is 
  4595. always displayed unless you specifically close it. It is similar to the Private 
  4596. monitor. 
  4597.  
  4598. See the following for more information: 
  4599.  
  4600.      Introduction to the Program monitor 
  4601.  
  4602.      Monitor popup menu 
  4603.  
  4604.      Menus, buttons, and shortcut keys 
  4605.  
  4606.  Related Information 
  4607.  
  4608.  Concepts 
  4609.  Differences between Program and Private Monitors 
  4610.  
  4611.  
  4612. ΓòÉΓòÉΓòÉ 4.10.1. Menus, Buttons, and Shortcut Keys ΓòÉΓòÉΓòÉ
  4613.  
  4614. The Program monitor provides the following menus, buttons, and shortcut keys: 
  4615.  
  4616.      File Edit Options Windows Help 
  4617.  
  4618.     
  4619.  
  4620.      [Ctrl+B->Session Control] [Ctrl+R->Run] 
  4621.  
  4622.  The Program monitor also has a popup menu. To access it, position the pointer 
  4623.  in the content area of the window and click mouse button 2. 
  4624.  
  4625.  
  4626. ΓòÉΓòÉΓòÉ 4.10.1.1. File Menu ΓòÉΓòÉΓòÉ
  4627.  
  4628. The File menu of the Program monitor contains only one choice, Close Debugger. 
  4629.  
  4630.  
  4631. ΓòÉΓòÉΓòÉ 4.11. Popup Menu for Private and Program Monitors ΓòÉΓòÉΓòÉ
  4632.  
  4633. When you select a variable or element in the Program monitor or a Private 
  4634. monitor, and click mouse button 2, a popup menu appears with a subset of the 
  4635. following choices: 
  4636.  
  4637.      Edit 
  4638.  
  4639.      Delete 
  4640.  
  4641.      Disable 
  4642.  
  4643.      Dereference (not available for COBOL) 
  4644.  
  4645.      Next representation 
  4646.  
  4647.      Other elements 
  4648.  
  4649.  
  4650. ΓòÉΓòÉΓòÉ 4.11.1. Edit Contents ΓòÉΓòÉΓòÉ
  4651.  
  4652. To edit the contents of a variable in a monitor, do one of the following: 
  4653.  
  4654.      Select the line containing the variable, click mouse button 2, and select 
  4655.       Edit from the popup menu 
  4656.  
  4657.      Double-click on the content of the variable 
  4658.  
  4659.      Use the cursor keys or the mouse to highlight the line containing the 
  4660.       variable, and press Enter. 
  4661.  
  4662.  Then enter a new value and press Enter. This value must be valid for the type 
  4663.  of variable. 
  4664.  
  4665.  Related Information 
  4666.  
  4667.  Procedures 
  4668.  Change the Contents of Storage, Variables, and Registers 
  4669.  
  4670.  
  4671. ΓòÉΓòÉΓòÉ 4.11.2. Dereference ΓòÉΓòÉΓòÉ
  4672.  
  4673. Note: The Dereference choice is not available for COBOL programs running on 
  4674. OS/390. 
  4675.  
  4676. Choose Dereference from the popup menu in a Program, Private, or Local 
  4677. Variables monitor to show the storage contents of the selected pointer 
  4678. variable. 
  4679.  
  4680. This choice is available only when the variable you have selected is a pointer, 
  4681. or is an array or object name displayed in pointer representation (with a '>' 
  4682. to its left). To change an array or object to pointer representation, choose 
  4683. Edit->Representation from the menu bar, or Next representation from the popup 
  4684. menu. 
  4685.  
  4686.  
  4687. ΓòÉΓòÉΓòÉ 4.12. Local Variables Monitor ΓòÉΓòÉΓòÉ
  4688.  
  4689. Use the Local Variables monitor to view all local variables that are currently 
  4690. in scope. The Source window for each thread of your program has its own Local 
  4691. Variables monitor. 
  4692.  
  4693. See the following for more information: 
  4694.  
  4695.      Introduction to the Local Variables monitor 
  4696.  
  4697.      Local Variables popup menu 
  4698.  
  4699.      Menus, buttons, and shortcut keys 
  4700.  
  4701.  
  4702. ΓòÉΓòÉΓòÉ 4.12.1. Menus, Buttons, and Shortcut Keys ΓòÉΓòÉΓòÉ
  4703.  
  4704. The Local Variables monitor provides the following menus, buttons, and shortcut 
  4705. keys: 
  4706.  
  4707.      File Edit Options Windows Help 
  4708.  
  4709.     
  4710.  
  4711.      [Ctrl+B->Session Control] [Ctrl+R->Run] 
  4712.  
  4713.  The Local Variables monitor also has a popup menu. To access it, position the 
  4714.  pointer in the content area of the monitor and click mouse button 2. 
  4715.  
  4716.  
  4717. ΓòÉΓòÉΓòÉ 4.12.1.1. File Menu ΓòÉΓòÉΓòÉ
  4718.  
  4719. The File menu of the Local Variables monitor contains only one choice, Close 
  4720. Debugger. 
  4721.  
  4722.  
  4723. ΓòÉΓòÉΓòÉ 4.12.1.2. Edit Menu ΓòÉΓòÉΓòÉ
  4724.  
  4725. The Edit menu of the Local Variables monitor contains the following choices: 
  4726.  
  4727.      Delete 
  4728.  
  4729.      Select all 
  4730.  
  4731.      Deselect all 
  4732.  
  4733.      Other elements 
  4734.  
  4735.      Representation 
  4736.  
  4737.  
  4738. ΓòÉΓòÉΓòÉ 4.12.1.3. Options Menu ΓòÉΓòÉΓòÉ
  4739.  
  4740. The Options menu of the Local Variables monitor contains the following choices: 
  4741.  
  4742.      Fonts 
  4743.  
  4744.      Restore defaults 
  4745.  
  4746.      Show context 
  4747.  
  4748.      Tool buttons 
  4749.  
  4750.      Hover help 
  4751.  
  4752.      Infoarea 
  4753.  
  4754.  
  4755. ΓòÉΓòÉΓòÉ 4.12.2. Popup Menu for the Local Variables Monitor ΓòÉΓòÉΓòÉ
  4756.  
  4757. When you select a variable or element in a Local Variables monitor and click 
  4758. mouse button 2, a popup menu appears with a subset of the following choices: 
  4759.  
  4760.      Edit 
  4761.  
  4762.      Dereference (not available for COBOL) 
  4763.  
  4764.      Delete 
  4765.  
  4766.      Next representation 
  4767.  
  4768.      Other elements 
  4769.  
  4770.  
  4771. ΓòÉΓòÉΓòÉ 4.13. Debugger Dialogs ΓòÉΓòÉΓòÉ
  4772.  
  4773. You can get to help on the following debugger dialogs from here: 
  4774.  
  4775.      Source List Dialog 
  4776.  
  4777.      Exception Dialog 
  4778.  
  4779.      Overloaded Dialog 
  4780.  
  4781.      Source Filename Dialog 
  4782.  
  4783.      Monitor Expression Dialog 
  4784.  
  4785.      Exception Filtering Dialog 
  4786.  
  4787.  See also the following main help pages: 
  4788.  
  4789.      Main Debugger Windows 
  4790.  
  4791.      Monitor Windows 
  4792.  
  4793.      Other Help Topics 
  4794.  
  4795.      Debugger Help Home Page 
  4796.  
  4797.  
  4798. ΓòÉΓòÉΓòÉ 4.13.1. Debugger Properties Dialog ΓòÉΓòÉΓòÉ
  4799.  
  4800. Use the Debugger Properties dialog to define: 
  4801.  
  4802.      Whether to keep displaying, minimize, or discard a Source window from 
  4803.       which control has just passed 
  4804.  
  4805.      Whether multiple views can be displayed. 
  4806.  
  4807.      Whether to automatically set a breakpoint at every entry point. 
  4808.  
  4809.      Whether clicking on mouse button 2 will perform a step command or bring 
  4810.       up a popup menu. 
  4811.  
  4812.  This dialog contains the following group boxes: 
  4813.  
  4814.      Display at stop 
  4815.  
  4816.      Old source disposition 
  4817.  
  4818.      Settings 
  4819.  
  4820.      Mouse button 2 behavior 
  4821.  
  4822.  
  4823. ΓòÉΓòÉΓòÉ 4.13.1.1. Display at stop Group Box ΓòÉΓòÉΓòÉ
  4824.  
  4825. The Display at stop group box lets you control how many Source windows are 
  4826. displayed at once, and how many Source windows the Old source disposition 
  4827. setting applies to. The choices are: 
  4828.  
  4829.  Only stopping thread Keeps, minimizes, or discards all views that are not the 
  4830.            stopping thread. 
  4831.  
  4832.  All threads Keeps, minimizes, or discards the views for old components within 
  4833.            each thread. 
  4834.  
  4835.  For example, if you select Only stopping thread, the Old source disposition 
  4836.  applies to all the Source windows except the current view of the stopping 
  4837.  thread. If you select All threads, the Old source disposition applies only to 
  4838.  the Source windows for the components from which execution has just left 
  4839.  within a thread. 
  4840.  
  4841.  
  4842. ΓòÉΓòÉΓòÉ 4.13.1.2. Old source disposition Group Box ΓòÉΓòÉΓòÉ
  4843.  
  4844. The Old source disposition group box lets you control the behavior of Source 
  4845. windows from which control has just passed. The choices are: 
  4846.  
  4847.  Keep      Leaves old Source windows open 
  4848.  
  4849.  Minimize  Changes old Source windows into icons 
  4850.  
  4851.  Discard   Closes old Source windows 
  4852.  
  4853.  Note: The setting of the Display at Stop group box affects what Source windows 
  4854.  the Old source disposition choices apply to. 
  4855.  
  4856.  
  4857. ΓòÉΓòÉΓòÉ 4.13.1.3. Settings Group Box ΓòÉΓòÉΓòÉ
  4858.  
  4859. The Settings group box contains the following: 
  4860.  
  4861.      The Multiple views check box, which you can select to display more than 
  4862.       one Source window for a particular object. If the check box is enabled, 
  4863.       when you open a new window for an object, the first window stays open and 
  4864.       is overlaid by the second one. If the check box is disabled, the first 
  4865.       window is closed when a second window is opened. The default is not to 
  4866.       display multiple Source windows. 
  4867.  
  4868.      The Set breakpoints at entry points check box. If this check box is 
  4869.       enabled, the debugger will set breakpoints at all functions for programs 
  4870.       that were compiled and linked with debug information. 
  4871.  
  4872.  
  4873. ΓòÉΓòÉΓòÉ 4.13.1.4. Mouse button 2 behavior Group Box ΓòÉΓòÉΓòÉ
  4874.  
  4875. The behavior of mouse button 2 within the Source window depends on the Mouse 
  4876. button 2 behavior group box in the Debugger properties dialog (accessed from 
  4877. the Source or Session Control windows through Options->Debugger 
  4878. settings->Debugger properties). 
  4879.  
  4880. Select one of the following check boxes to determine how mouse button 2 will 
  4881. behave in the Source window. 
  4882.  
  4883.  Popup menus Displays a popup menu, where one is available; otherwise does 
  4884.            nothing. 
  4885.  
  4886.  Step always Performs a step command. 
  4887.  
  4888.  Popup menus and step in white space Displays a popup menu, when the pointer is 
  4889.            over certain text (for example, a variable or a line number in the 
  4890.            prefix area), and performs a step command when the pointer is over 
  4891.            white space or over text for which no popup menu is available. 
  4892.  
  4893.  C++ example:.If Popup menus and step in white space is checked, and you click 
  4894.  mouse button 2 on the C++ source line int myVar=18;, a popup menu appears if 
  4895.  the pointer is over int, myVar, or 18, and a step command is performed if the 
  4896.  pointer is on white space or the = or ; symbols. 
  4897.  
  4898.  COBOL example: If Popup menus and step in white space is checked, and you 
  4899.  click mouse button 2 on the COBOL line MOVE 18 TO MYVAR., a popup menu appears 
  4900.  if the pointer is over MOVE, 18, TO, or MYVAR, and a step command is performed 
  4901.  if the pointer is on white space or the period. 
  4902.  
  4903.  
  4904. ΓòÉΓòÉΓòÉ 4.13.2. Exception Dialog ΓòÉΓòÉΓòÉ
  4905.  
  4906. The Exception dialog is displayed whenever an exception is raised that matches 
  4907. the exception category you specified in the Exception Filtering dialog. The 
  4908. line where the exception occurred is highlighted in a Source window. 
  4909.  
  4910. This dialog gives you three choices: 
  4911.  
  4912.  Examine/Retry The debugger behaves as if the exception did not occur, 
  4913.            continues execution at the instruction right after the one that 
  4914.            raised the exception, and stops execution at the next source 
  4915.            statement for which debug information is available. Depending on how 
  4916.            critical the original exception was, a new exception may be raised 
  4917.            before the debugger reaches the next source statement. 
  4918.  
  4919.  Step exception The debugger steps into the first registered exception handler 
  4920.            (tracked by the operating system). Execution stops at the first 
  4921.            executable line of code in that exception. 
  4922.  
  4923.  Run exception The debugger runs the exception handler that is registered to 
  4924.            handle the type of exception that was encountered. 
  4925.  
  4926.  
  4927. ΓòÉΓòÉΓòÉ 4.13.3. Exception Filtering Dialog ΓòÉΓòÉΓòÉ
  4928.  
  4929. In the Exception Filtering dialog, select the types of exceptions you want the 
  4930. debugger to recognize. 
  4931.  
  4932. If an exception is encountered during execution, and that exception is in an 
  4933. exception category you selected, the Exception dialog opens. Otherwise the 
  4934. exception is ignored. 
  4935.  
  4936. You can choose one of the following exception categories: 
  4937.  
  4938.  Test(NONE) The debugger does not recognize any exceptions 
  4939.  
  4940.  Test(ERROR) The debugger stops at all severity 2 or higher exceptions 
  4941.  
  4942.  Test(ALL) The debugger stops at all Language Environment (LE) exceptions 
  4943.  
  4944.  
  4945. ΓòÉΓòÉΓòÉ 4.13.4. Find Function Dialog ΓòÉΓòÉΓòÉ
  4946.  
  4947. To use the Find Function dialog: 
  4948.  
  4949.    1. In the Function entry field, type the name of the function you want to 
  4950.       locate. An error message appears if a matching function was not found. 
  4951.  
  4952.    2. If you want to search only files that contain debugging information, 
  4953.       enable the Debugging information only check box. 
  4954.  
  4955.    3. If you want to search for the string exactly as typed, select the Case 
  4956.       sensitive check box. Do not select it if you want to search for both 
  4957.       uppercase and lowercase matches to the string. 
  4958.  
  4959.    4. Select OK. 
  4960.  
  4961.  If you specified a C++ function and the debugger finds more than one overload 
  4962.  of the function you specified, an Overloaded dialog opens, listing the 
  4963.  overloads of that function. Select the desired overload from that list. 
  4964.  
  4965.  
  4966. ΓòÉΓòÉΓòÉ 4.13.5. Monitor Properties Dialog ΓòÉΓòÉΓòÉ
  4967.  
  4968. Use the Monitor Properties dialog to select the settings for monitoring 
  4969. variables or expressions. You can set one check box in each of the following 
  4970. group boxes (click on the Group box name for more information): 
  4971.  
  4972.  Group box Purpose 
  4973.  
  4974.  Monitor Location The window into which the variable or expression being 
  4975.            monitored is placed. 
  4976.  
  4977.  Popup Duration For a popup expression window, determines how long the monitors 
  4978.            are displayed. 
  4979.  
  4980.  
  4981. ΓòÉΓòÉΓòÉ 4.13.5.1. Monitor Location ΓòÉΓòÉΓòÉ
  4982.  
  4983. Choose one of the following radio buttons to determine which monitor will open 
  4984. when you select a variable or expression to monitor. 
  4985.  
  4986.      Popup monitor 
  4987.  
  4988.      Private monitor 
  4989.  
  4990.      Program monitor 
  4991.  
  4992.      Storage monitor 
  4993.  
  4994.  
  4995. ΓòÉΓòÉΓòÉ 4.13.5.2. Popup Duration ΓòÉΓòÉΓòÉ
  4996.  
  4997. If you selected Popup in the Monitor Location group box, select one of the 
  4998. following radio buttons to specify at what point the popup expression window is 
  4999. closed. 
  5000.  
  5001.  Step/run  The monitor closes when the next step or run command is executed. 
  5002.  
  5003.  New source The monitor closes when execution stops in a new source. 
  5004.  
  5005.  Permanent The monitor is associated with a specific Source window, and is 
  5006.            closed when that Source window is closed. 
  5007.  
  5008.  
  5009. ΓòÉΓòÉΓòÉ 4.13.6. Open New Source Dialog ΓòÉΓòÉΓòÉ
  5010.  
  5011. Use the Open New Source dialog to open another Source window containing a new 
  5012. executable or DLL for the program you are already debugging. 
  5013.  
  5014. You may find it easier to open a new Source window by expanding components in 
  5015. the Components pane of the Session Control window until you find the 
  5016. compilation unit you want. The Open New Source dialog is useful for opening a 
  5017. source view for a compile unit when you are unsure of the file name of the 
  5018. executable that was created from that compile unit. 
  5019.  
  5020. If you know the name of the compile unit, turn on the All executables check box 
  5021. and type in the compile unit name, then select OK. 
  5022.  
  5023. If you do not know the name of the compile unit, leave the Source field blank, 
  5024. and turn off the All executables check box. You can then select an executable 
  5025. from the Executable pulldown list.  If you want to view only those executables 
  5026. compiled and linked with debug information, turn on the Debugging information 
  5027. only check box. 
  5028.  
  5029. Once you have chosen an executable, click on OK (or press Enter) and a Source 
  5030. List dialog displays with a list of the compilation units for that executable. 
  5031. From this Source List dialog, select the compilation unit you want to open a 
  5032. Source window for. 
  5033.  
  5034. You can use Open new source to specify a partitioned data set member or a 
  5035. sequential file. If the debugger cannot find a sequential file on the host, it 
  5036. uses the file name to search on the workstation. If it cannot find a 
  5037. partitioned data set member on the host, it extrapolates a workstation file 
  5038. name from the member name and the end of the data set name, and searches for 
  5039. that file on the workstation. 
  5040.  
  5041. Related Information 
  5042.  
  5043. Reference 
  5044. Environment Variables 
  5045.  
  5046.  
  5047. ΓòÉΓòÉΓòÉ 4.13.7. Overloaded Dialog ΓòÉΓòÉΓòÉ
  5048.  
  5049. When you specify a C++ function in a debugger entry field (for example, when 
  5050. you are setting a function breakpoint), and the debugger finds more than one 
  5051. overload of that function, an Overloaded dialog appears, containing a list of 
  5052. all functions with the name you specified. Choose the function from the 
  5053. displayed list that matches the function you wanted. 
  5054.  
  5055. A signature is the combination of return type and argument types that 
  5056. distinguish a C++ function from other functions of the same name. 
  5057.  
  5058.  
  5059. ΓòÉΓòÉΓòÉ 4.13.8. Source List Dialog ΓòÉΓòÉΓòÉ
  5060.  
  5061. The Source List dialog opens if you select an executable in the Open New Source 
  5062. dialog but do not specify a new source file to open. 
  5063.  
  5064. The lefthand pane contains the names of executable files, and the righthand 
  5065. pane shows corresponding compile units. Select a compile unit from the list, 
  5066. and either click on OK or press Enter. 
  5067.  
  5068. You can resize the panes by dragging the split bar between them to the left or 
  5069. right. 
  5070.  
  5071.  
  5072. ΓòÉΓòÉΓòÉ 4.13.9. Source Filename Dialog ΓòÉΓòÉΓòÉ
  5073.  
  5074. The Source Filename dialog is displayed when you try to debug a component that 
  5075. contains debugging data for which the source code cannot be located. To respond 
  5076. to this dialog, do one of the following: 
  5077.  
  5078.      If the source file is located in another partitioned data set or 
  5079.       sequential data set, type in the partitioned data set and member name or 
  5080.       the sequential data set name, and select OK. 
  5081.  
  5082.      If you do not have the source file for this component, select Cancel. No 
  5083.       Source window will be displayed. 
  5084.  
  5085.  
  5086. ΓòÉΓòÉΓòÉ 4.14. Toolbar Buttons, Shortcut Keys, and Common Menu Items ΓòÉΓòÉΓòÉ
  5087.  
  5088. Each window of the debugger provides a subset of the following toolbar buttons, 
  5089. shortcut keys, and menu choices: 
  5090.  
  5091.      Toolbar buttons:
  5092.  
  5093.      Shortcut keys: [Ctrl+B] -->Raise Session Control window [Ctrl+R] -->Run 
  5094.       (The Source window and Session Control window have their own specialized 
  5095.       sets of shortcut keys.) 
  5096.  
  5097.      Menu choices:
  5098.  
  5099.       File Edit Monitors Run Options Windows Help 
  5100.  
  5101.  
  5102. ΓòÉΓòÉΓòÉ 4.14.1. Toolbar Buttons ΓòÉΓòÉΓòÉ
  5103.  
  5104. Toolbar buttons let you quickly access a wide range of commands and windows 
  5105. from the Source and Session Control windows, and a lesser range from other 
  5106. windows. These buttons are displayed when the Tool buttons item is set from a 
  5107. window's Options menu (or from a menu beneath Options). The following toolbar 
  5108. buttons are available: 
  5109.  
  5110.  
  5111. ΓòÉΓòÉΓòÉ 4.14.1.1. Call Stack Button ΓòÉΓòÉΓòÉ
  5112.  
  5113. Click on the  button to open or raise a Call Stack window containing the 
  5114. contents of the call stack for the current thread. This is the same as 
  5115. selecting Monitors->Call Stack or typing Ctrl+K. 
  5116.  
  5117.  
  5118. ΓòÉΓòÉΓòÉ 4.14.1.2. Delete All Button ΓòÉΓòÉΓòÉ
  5119.  
  5120. Click on the  button to delete all breakpoints in a breakpoint list, or to 
  5121. delete all variables and expressions in a monitor. 
  5122.  
  5123.  
  5124. ΓòÉΓòÉΓòÉ 4.14.1.3. Delete Button ΓòÉΓòÉΓòÉ
  5125.  
  5126. Click on the  button to delete the selected breakpoint in a breakpoint list, or 
  5127. to delete the selected variable or expression in a monitor. 
  5128.  
  5129.  
  5130. ΓòÉΓòÉΓòÉ 4.14.1.4. Session Control Button ΓòÉΓòÉΓòÉ
  5131.  
  5132. Click on the  button to bring the Session Control window into focus. 
  5133.  
  5134.  
  5135. ΓòÉΓòÉΓòÉ 4.14.1.5. Monitor Expression Button ΓòÉΓòÉΓòÉ
  5136.  
  5137. Click on the  button from the Source window to add a variable or expression to 
  5138. one of the debugger monitors. In the Monitor expression dialog that opens, 
  5139. enter a variable or expression to monitor. 
  5140.  
  5141. If you highlight a variable or expression before you press the Monitor 
  5142. expression button, that variable or expression is automatically placed in the 
  5143. Monitor expression dialog. 
  5144.  
  5145. See Expressions Supported for information on what types of expressions the 
  5146. debugger supports. 
  5147.  
  5148.  
  5149. ΓòÉΓòÉΓòÉ 4.14.1.6. Project Button ΓòÉΓòÉΓòÉ
  5150.  
  5151. Note: This button is only supported for versions of the debugger installed with 
  5152. an IBM VisualAge product, and is only shown if the debugger was invoked from a 
  5153. WorkFrame project. 
  5154.  
  5155. Click on the Project button to open or raise the WorkFrame. 
  5156.  
  5157.  
  5158. ΓòÉΓòÉΓòÉ 4.14.1.7. Registers Button ΓòÉΓòÉΓòÉ
  5159.  
  5160. Click on the  button to open or raise a Registers monitor containing the 
  5161. contents of processor registers for the current thread. This is the same as 
  5162. selecting Monitors->Registers or typing Ctrl+E. 
  5163.  
  5164.  
  5165. ΓòÉΓòÉΓòÉ 4.14.1.8. Storage Button ΓòÉΓòÉΓòÉ
  5166.  
  5167. Click on the  button to open or raise a Storage monitor, which you can use to 
  5168. display storage used by your program. This is the same as selecting 
  5169. Monitors->Storage or typing Ctrl+G. 
  5170.  
  5171.  
  5172. ΓòÉΓòÉΓòÉ 4.14.1.9. Breakpoints Button ΓòÉΓòÉΓòÉ
  5173.  
  5174. Click on the  button to open or raise the Breakpoints list window, which you 
  5175. can use to view, set, clear, disable, or enable breakpoints. This is the same 
  5176. as selecting Breakpoints->List or typing Ctrl+X. 
  5177.  
  5178.  
  5179. ΓòÉΓòÉΓòÉ 4.14.2. Common Menu Choices ΓòÉΓòÉΓòÉ
  5180.  
  5181. A subset of the following menus appears on many debugger windows: 
  5182.  
  5183.      File 
  5184.  
  5185.      Edit 
  5186.  
  5187.      Options -- you can view help for a short list of common options, or a 
  5188.       complete list of all available options 
  5189.  
  5190.      Monitors 
  5191.  
  5192.      Run 
  5193.  
  5194.      Windows 
  5195.  
  5196.      Help 
  5197.  
  5198.  The help for each debugger window contains appropriate links to the menus it 
  5199.  supports. 
  5200.  
  5201.  
  5202. ΓòÉΓòÉΓòÉ 4.14.2.1. File Menu ΓòÉΓòÉΓòÉ
  5203.  
  5204. A subset of the following menu choices appears on the File menu of many 
  5205. debugger windows: 
  5206.  
  5207.      Open new source 
  5208.  
  5209.      Locate function 
  5210.  
  5211.      Where is execution point -- [Ctrl+P] 
  5212.  
  5213.      Close debugger -- [F3] 
  5214.  
  5215.  The help for each debugger window contains appropriate links to the File menu 
  5216.  choices it supports. 
  5217.  
  5218.  
  5219. ΓòÉΓòÉΓòÉ 4.14.2.1.1. Open New Source ΓòÉΓòÉΓòÉ
  5220.  
  5221. Note: The Open new module choice on the File menu is available only on the 
  5222. Source and Session Control windows. 
  5223.  
  5224. Select this choice when you want to view a source file that is associated with 
  5225. your application, but is not currently shown in a Source window. The Open New 
  5226. Source dialog displays. 
  5227.  
  5228. Note: Open new source does not change the program being debugged. The source 
  5229. file you select must be one that is used by the program you are currently 
  5230. debugging. 
  5231.  
  5232.  
  5233. ΓòÉΓòÉΓòÉ 4.14.2.1.2. Where is Execution Point ΓòÉΓòÉΓòÉ
  5234.  
  5235. Select Where is execution point from the File menu to view the next line to be 
  5236. executed. If the file containing that line is already in a Source window, that 
  5237. Source window has its focus raised; otherwise, a new Source window opens. The 
  5238. next line to be executed is highlighted and has the cursor on it. 
  5239.  
  5240.  
  5241. ΓòÉΓòÉΓòÉ 4.14.2.1.3. Close Debugger ΓòÉΓòÉΓòÉ
  5242.  
  5243. Select Close debugger from the File menu to end the program you are debugging 
  5244. and exit the debugger. 
  5245.  
  5246. When you close the debugger, the window positions, sizes, and other settings 
  5247. are saved in a program profile. This profile is used the next time you debug 
  5248. that program, to establish startup settings for the new debug session. 
  5249.  
  5250.  
  5251. ΓòÉΓòÉΓòÉ 4.14.2.2. Edit Menu ΓòÉΓòÉΓòÉ
  5252.  
  5253. A subset of the following menu choices appears on the Edit menu of many 
  5254. debugger windows: 
  5255.  
  5256.      Delete 
  5257.  
  5258.      Select all 
  5259.  
  5260.      Deselect all 
  5261.  
  5262.  The help for each debugger window contains appropriate links to the menu 
  5263.  choices it supports. 
  5264.  
  5265.  
  5266. ΓòÉΓòÉΓòÉ 4.14.2.2.1. Delete ΓòÉΓòÉΓòÉ
  5267.  
  5268. Button:  Shortcut key: [Delete] Menu: Edit->Delete (from Breakpoints List 
  5269. window, and Program, Private, and Local Variables monitors) 
  5270.  
  5271. Delete deletes the highlighted item or items in the current window. In a 
  5272. Monitor window, the selected expressions or variables are deleted. In a 
  5273. Breakpoint List window, the selected breakpoint is deleted (you can only select 
  5274. one breakpoint at a time). 
  5275.  
  5276. Note: When you delete a breakpoint, all information on it is lost. If you need 
  5277. to temporarily prevent a breakpoint from stopping execution but you want to be 
  5278. able to easily activate it later, you should disable it instead, by selecting 
  5279. Edit->Disable. 
  5280.  
  5281. Related Information 
  5282.  
  5283. Procedures 
  5284. Enable and Disable Breakpoints 
  5285.  
  5286.  
  5287. ΓòÉΓòÉΓòÉ 4.14.2.2.2. Select All ΓòÉΓòÉΓòÉ
  5288.  
  5289. Select Edit->Select all from a Program or Private monitor to select all the 
  5290. variables and expressions shown in the monitor. You can then individually 
  5291. deselect certain variables, and use one of the available Edit menu choices to 
  5292. delete, enable, or disable the remaining selected variables. 
  5293.  
  5294.  
  5295. ΓòÉΓòÉΓòÉ 4.14.2.2.3. Deselect All ΓòÉΓòÉΓòÉ
  5296.  
  5297. Select Edit->Deselect all from a monitor to deselect all selected variables and 
  5298. expressions shown in the monitor. 
  5299.  
  5300.  
  5301. ΓòÉΓòÉΓòÉ 4.14.2.3. Options Menu ΓòÉΓòÉΓòÉ
  5302.  
  5303. The following Options menu choices are shared by several debugger windows: 
  5304.  
  5305.  Fonts     Lets you change the font for the current window. 
  5306.  
  5307.  Restore defaults Resets all settings for this window to the debugger defaults 
  5308.            for the window. 
  5309.  
  5310.  Tool buttons Determines whether the toolbar buttons are displayed in the 
  5311.            window. 
  5312.  
  5313.  Hover help Enables or disables hover help, which provides brief descriptions 
  5314.            of menu choices and toolbar buttons when the pointer is placed over 
  5315.            them. 
  5316.  
  5317.  Infoarea  Enables or disables the window's information area, which provides 
  5318.            longer textual descriptions of menu choices and toolbar buttons when 
  5319.            the pointer is placed over them. 
  5320.  
  5321.  
  5322. ΓòÉΓòÉΓòÉ 4.14.2.4. Monitors Menu ΓòÉΓòÉΓòÉ
  5323.  
  5324. A subset of the following menu choices appears on the Monitors menu of the 
  5325. Source and Session Control windows: 
  5326.  
  5327.      Monitor expression 
  5328.  
  5329.      Call Stack 
  5330.  
  5331.      Registers 
  5332.  
  5333.      Storage 
  5334.  
  5335.      Local variables 
  5336.  
  5337.  The help for each debugger window contains appropriate links to the menu 
  5338.  choices it supports. 
  5339.  
  5340.  
  5341. ΓòÉΓòÉΓòÉ 4.14.2.4.1. Monitor Expression ΓòÉΓòÉΓòÉ
  5342.  
  5343. Select Monitors->Monitor expression to open a Monitor expression dialog. Here, 
  5344. you can enter a variable or expression to monitor, and select what monitor to 
  5345. display it in. 
  5346.  
  5347.  
  5348. ΓòÉΓòÉΓòÉ 4.14.2.4.2. Call Stack ΓòÉΓòÉΓòÉ
  5349.  
  5350. Select Monitors->Call Stack to open a Call Stack window for the current thread. 
  5351. Here, you can view the contents of the call stack to determine what calls are 
  5352. currently in progress. 
  5353.  
  5354.  
  5355. ΓòÉΓòÉΓòÉ 4.14.2.4.3. Registers ΓòÉΓòÉΓòÉ
  5356.  
  5357. Select Monitors->Registers to open a Registers monitor. Here, you can view or 
  5358. alter the contents of registers for the processor of the machine that the 
  5359. program being debugged is running on. 
  5360.  
  5361.  
  5362. ΓòÉΓòÉΓòÉ 4.14.2.4.4. Storage ΓòÉΓòÉΓòÉ
  5363.  
  5364. Select Monitors->Storage to open a Storage monitor. Here, you can view or alter 
  5365. the contents of storage used by your program. 
  5366.  
  5367.  
  5368. ΓòÉΓòÉΓòÉ 4.14.2.4.5. Local Variables ΓòÉΓòÉΓòÉ
  5369.  
  5370. Select Monitors->Local variables to open a Local Variables monitor. Here, you 
  5371. can view or alter the contents of variables that are currently in scope for a 
  5372. given thread. When you select this choice from a Source window, the Local 
  5373. Variables monitor uses the thread for that Source window. When you select it 
  5374. from the Session Control window, the Local Variables monitor uses the currently 
  5375. highlighted thread in the Threads pane. 
  5376.  
  5377.  
  5378. ΓòÉΓòÉΓòÉ 4.14.2.5. Run Menu ΓòÉΓòÉΓòÉ
  5379.  
  5380. Use the Run menu to perform step commands, run your program,  hide debugger 
  5381. windows, and enable or disable threads. It contains the following choices: 
  5382.  
  5383.      Step over -- [O] 
  5384.  
  5385.      Step into -- [I] 
  5386.  
  5387.      Step return -- [T] 
  5388.  
  5389.      Run -- [R] 
  5390.  
  5391.      Run to location -- [L] 
  5392.  
  5393.      Jump to location -- [N] 
  5394.  
  5395.      Hide debugger on Run 
  5396.  
  5397.      Thread enabled 
  5398.  
  5399.  Shortcut keys (shown above in brackets) and toolbar buttons are available for 
  5400.  many of the Run menu choices. See the help panels for these choices for more 
  5401.  information. 
  5402.  
  5403.  
  5404. ΓòÉΓòÉΓòÉ 4.14.2.5.1. Hide Debugger on Run ΓòÉΓòÉΓòÉ
  5405.  
  5406. Select Run->Hide debugger on Run to hide the debugger windows when your program 
  5407. is running. This option does not affect the windows when you are stepping 
  5408. through your program. 
  5409.  
  5410.  
  5411. ΓòÉΓòÉΓòÉ 4.14.2.5.2. Thread Enabled ΓòÉΓòÉΓòÉ
  5412.  
  5413. Select Run->Thread enabled to allow the thread that is highlighted in the 
  5414. Threads box of the Session Control window to execute when the program runs. 
  5415. When threads are enabled, a check mark is displayed beside the Thread enabled 
  5416. choice. This is the default setting. 
  5417.  
  5418. When threads are not enabled, no check mark is displayed and the highlighted 
  5419. thread is not executed when the program is run. 
  5420.  
  5421.  
  5422. ΓòÉΓòÉΓòÉ 4.14.2.6. Project ΓòÉΓòÉΓòÉ
  5423.  
  5424. The Project menu is available when you have loaded the debugger from a 
  5425. Workframe project. Use it to perform project-related tasks. The list of choices 
  5426. depends upon the type of project, the platform, and the language. See the 
  5427. WorkFrame online help for further information on the choices. 
  5428.  
  5429.  
  5430. ΓòÉΓòÉΓòÉ 4.14.2.7. Options Menu ΓòÉΓòÉΓòÉ
  5431.  
  5432. Use the Options menu to change the appearance and behavior of the debugger. You 
  5433. can change settings for the particular window from which you access the menu, 
  5434. and settings for the debugger itself. This menu contains the following choices: 
  5435.  
  5436.      Window settings 
  5437.  
  5438.      Debugger settings 
  5439.  
  5440.  
  5441. ΓòÉΓòÉΓòÉ 4.14.2.7.1. Window Settings ΓòÉΓòÉΓòÉ
  5442.  
  5443. Select the Window settings cascading choices to modify these settings for the 
  5444. window from which you access the Options menu: 
  5445.  
  5446.  Colors    (Source window only) Lets you change the colors used in the Source 
  5447.            window. 
  5448.  
  5449.  Fonts     (Source window only) Lets you change the font for the Source window. 
  5450.            Only fixed-pitch fonts are available. 
  5451.  
  5452.  Display style Opens a dialog where you can specify how information in this 
  5453.            window should appear. Additional help is available for the Session 
  5454.            Control window. 
  5455.  
  5456.  Monitor expression (Storage monitor only) Opens a Monitor Expression in 
  5457.            Storage dialog, where you can enter an expression for monitoring in 
  5458.            storage. 
  5459.  
  5460.  Restore defaults Resets all settings for this window to their original values. 
  5461.  
  5462.  Notebook  (Source window only) Displays source files within the Source window 
  5463.            in a notebook format. 
  5464.  
  5465.  Tool buttons Displays or hides the toolbar buttons for the window. 
  5466.  
  5467.  Hover help Enables or disables hover help, which provides brief descriptions 
  5468.            of menu choices and toolbar buttons when your pointing device passes 
  5469.            over them. 
  5470.  
  5471.  Infoarea  Enables or disables the window's information area, which provides 
  5472.            longer textual descriptions of menu choices and toolbar buttons when 
  5473.            your pointing device passes over them. 
  5474.  
  5475.  
  5476. ΓòÉΓòÉΓòÉ 4.14.2.7.2. Debugger Settings ΓòÉΓòÉΓòÉ
  5477.  
  5478. Select the Debugger settings cascading choices to modify debugger settings: 
  5479.  
  5480.      Debugger properties 
  5481.  
  5482.      Monitor properties 
  5483.  
  5484.      Default data representation 
  5485.  
  5486.      Program profiles 
  5487.  
  5488.      Exception filtering 
  5489.  
  5490.      Save debugger window positions 
  5491.  
  5492.      Global font change 
  5493.  
  5494.      Enable window cascading 
  5495.  
  5496.      Display tool buttons -- shows the toolbar buttons at the top of each 
  5497.       window 
  5498.  
  5499.      Display hover help -- displays a help bubble, when one is available, near 
  5500.       the pointer when you move the pointer over a tool button 
  5501.  
  5502.      Display infoarea -- displays a line of help, when one is available, at 
  5503.       the bottom of the window when you move the pointer to a new area of the 
  5504.       window. 
  5505.  
  5506.  
  5507. ΓòÉΓòÉΓòÉ 4.14.2.7.2.1. Default Data Representation ΓòÉΓòÉΓòÉ
  5508.  
  5509. Note: You cannot change the default data representation when debugging COBOL 
  5510. programs on OS/390. The Character data representation is the default. 
  5511.  
  5512. Select Options->Debugger settings->Default data representation to specify how 
  5513. you want your data represented in the monitors. A cascading menu appears with 
  5514. choices for the languages supported by the debugger. 
  5515.  
  5516.  
  5517. ΓòÉΓòÉΓòÉ 4.14.2.7.2.2. Program Profiles ΓòÉΓòÉΓòÉ
  5518.  
  5519. Select Options->Debugger settings->Program profiles to specify where you want 
  5520. the debugger program profiles stored, what profile information to save, or what 
  5521. profiles to delete. This menu has three choices: 
  5522.  
  5523.  Select information Select the types of information to save in the program 
  5524.            profile. If Save profile information is checked, your changes to 
  5525.            this list will be saved for future debugging sessions. If it is not 
  5526.            checked, your changes will only affect profiles saved until you exit 
  5527.            this session of the debugger. 
  5528.  
  5529.  Delete program profiles A dialog opens with a list of program profiles. Select 
  5530.            those profiles you want to delete, and click on OK. Profile 
  5531.            filenames are similar to their associated program filenames,but have 
  5532.            an extension that contains the character '@'. 
  5533.  
  5534.  Change location Change the location of the files that hold the debugger 
  5535.            settings. Enter the new path for program profiles in the Change 
  5536.            location dialog. 
  5537.  
  5538.  
  5539. ΓòÉΓòÉΓòÉ 4.14.2.7.2.3. Exception Filtering ΓòÉΓòÉΓòÉ
  5540.  
  5541. Select Options->Debugger settings->Exception filtering to open the Exception 
  5542. Filtering dialog. Select the types of exceptions that you want the debugger to 
  5543. recognize. 
  5544.  
  5545.  
  5546. ΓòÉΓòÉΓòÉ 4.14.2.7.2.4. Save Debugger Window Positions ΓòÉΓòÉΓòÉ
  5547.  
  5548. Select Options->Debugger Settings->Save debugger window positions to save the 
  5549. position and size of each debugger window that is currently open, so that these 
  5550. settings are used the next time you start the debugger. 
  5551.  
  5552.  
  5553. ΓòÉΓòÉΓòÉ 4.14.2.7.2.5. Global Font Change ΓòÉΓòÉΓòÉ
  5554.  
  5555. Select Debugger Settings->Global font change to change the font in all debugger 
  5556. windows. (The font you choose affects all debugger windows except Source 
  5557. windows.) 
  5558.  
  5559.  
  5560. ΓòÉΓòÉΓòÉ 4.14.2.7.2.6. Enable Window Cascading ΓòÉΓòÉΓòÉ
  5561.  
  5562. Select Debugger Settings->Enable window cascading to display newly opened 
  5563. debugger windows offset to the right of and below previous windows, so that you 
  5564. can see the titles of previous windows. 
  5565.  
  5566. If this choice is disabled, successive windows will overlay earlier ones. 
  5567.  
  5568.  
  5569. ΓòÉΓòÉΓòÉ 4.14.2.7.3. Windows Menu ΓòÉΓòÉΓòÉ
  5570.  
  5571. The Windows menu lists the currently open debugger windows, including Source 
  5572. windows, monitors, the Breakpoints List window, and the Session Control window. 
  5573. To switch to a different window, select this menu from any window where the 
  5574. option is available, and click on the window you want to go to. 
  5575.  
  5576. When you minimize the debugger, some of its windows may not be on the list of 
  5577. windows displayed by the operating system. To access a minimized window not on 
  5578. the window list, select the Session Control window, then use the Windows menu 
  5579. to access the window you want. 
  5580.  
  5581.  
  5582. ΓòÉΓòÉΓòÉ 4.14.2.7.4. Help ΓòÉΓòÉΓòÉ
  5583.  
  5584. The Help menu provides help for the current window and for other help on the 
  5585. debugger.  The following choices are available: 
  5586.  
  5587.      Help index -- displays a list of index entries within the help file. 
  5588.  
  5589.      General help -- displays high-level help for the current window. 
  5590.  
  5591.      Using help -- displays help on how to access and use help features of the 
  5592.       debugger. 
  5593.  
  5594.      How do I -- displays task-oriented help for common debugger tasks. 
  5595.  
  5596.      Product information -- displays the logo screen for the debugger. 
  5597.  
  5598.  If you want to search for a string within a help file, click on Search from 
  5599.  the help window, enter the search string in the entry field, select All 
  5600.  sections, and click on Search. 
  5601.  
  5602.  
  5603. ΓòÉΓòÉΓòÉ 4.14.3. Step Into ΓòÉΓòÉΓòÉ
  5604.  
  5605. Button:  Shortcut key: [I] Menu: Run->Step into (from Source window) 
  5606.  
  5607. The Step Into command executes the current line in the program. If the current 
  5608. line is a call, and debug information is available for any function called 
  5609. before the return to the current function, execution halts at the first 
  5610. statement for which debug information is available. If no debug information is 
  5611. available, execution halts after the call. 
  5612.  
  5613. For example, if A calls B and A is compiled without debug information, while B 
  5614. is compiled with debug information, after a Step Into command from a call to A, 
  5615. execution will stop at the first executable statement of B. 
  5616.  
  5617. C++ only: If the current line contains a complex call (for example 
  5618. p->memberFunc1()->memberFunc2().memberFunc3(func1(), func2())), the debugger 
  5619. examines each call (and any calls beneath it) for functions containing debug 
  5620. information, and steps into the first such function. The order in which it 
  5621. examines the calls is based on the order of the calls in the assembly code, 
  5622. which is not necessarily the order in which the calls appear in the source 
  5623. code. 
  5624.  
  5625.  
  5626. ΓòÉΓòÉΓòÉ 4.14.4. Step Over ΓòÉΓòÉΓòÉ
  5627.  
  5628. Button:  Shortcut key: [O] Menu: Run->Step over (from Source window) 
  5629.  
  5630. The Step Over command executes the current line in the program. If the current 
  5631. line is a call, execution stops at the line following the call. 
  5632.  
  5633. If you step over a function that contains a breakpoint, execution stops at the 
  5634. breakpoint. 
  5635.  
  5636.  
  5637. ΓòÉΓòÉΓòÉ 4.14.5. Step Return ΓòÉΓòÉΓòÉ
  5638.  
  5639. Button:  Shortcut key: [T] Menu: Run->Step return (from Source window) 
  5640.  
  5641. The Step Return command executes the code up to and including the return 
  5642. statement of the current function. Execution halts at the line following the 
  5643. call to the current function. 
  5644.  
  5645.  
  5646. ΓòÉΓòÉΓòÉ 4.14.6. Run ΓòÉΓòÉΓòÉ
  5647.  
  5648. Button:  Shortcut key: [R] from Source/Session Control windows, [Ctrl+R] from 
  5649. other windows Menu: Run->Run (from Source/Session Control windows) 
  5650.  
  5651. Run executes the program. The debugger starts executing where it last stopped 
  5652. (for example, at a breakpoint) or, if you have not yet run the program in this 
  5653. session, at the beginning of the program. When you select Run, execution 
  5654. continues until one of the following occurs: 
  5655.  
  5656.      The debugger encounters a breakpoint 
  5657.  
  5658.      An exception is encountered that is not handled 
  5659.  
  5660.      The program terminates 
  5661.  
  5662.      You close the debugger 
  5663.  
  5664.  Related Information 
  5665.  
  5666.  Procedures 
  5667.  Run a Program 
  5668.  
  5669.  
  5670. ΓòÉΓòÉΓòÉ 4.14.7. Halt ΓòÉΓòÉΓòÉ
  5671.  
  5672. Button:  Shortcut key: [SysRq] Menu: Run->Halt (from Source/Session Control 
  5673. windows) 
  5674.  
  5675. Halt, which is available only while the program is running, stops execution 
  5676. immediately. The Source window is updated with the current line set to the next 
  5677. line to be executed. 
  5678.  
  5679.  
  5680. ΓòÉΓòÉΓòÉ 4.14.8. Jump to Location ΓòÉΓòÉΓòÉ
  5681.  
  5682. Shortcut key: [N] Menu: Run->Jump to location (from Source/Session Control 
  5683. windows) 
  5684.  
  5685. Jump to location makes the currently highlighted line in the Source window the 
  5686. current line, without executing any code. You can view an example in C++ or 
  5687. COBOL to see how Jump to location works. 
  5688.  
  5689. Caution: When you jump to a location, you may alter the flow of your program in 
  5690. ways that make it difficult to continue debugging later in the same session: 
  5691.  
  5692.      The stack can become corrupted if you jump to a location outside the 
  5693.       current function. 
  5694.  
  5695.      Some compilers optimize register usage in ways that can corrupt variables 
  5696.       or program flow when you use Jump to Location. For example, if the 
  5697.       compiler keeps track of register contents and can determine that a 
  5698.       register contains the value 1 at the start of a statement that 
  5699.       initializes an integer variable to 1, it may simply copy that register's 
  5700.       contents to the variable. If you step over the statement that involved 
  5701.       setting the register to 1, the variable may not contain the expected 
  5702.       contents. 
  5703.  
  5704.  
  5705. ΓòÉΓòÉΓòÉ 4.14.9. Run to Location ΓòÉΓòÉΓòÉ
  5706.  
  5707. Shortcut key: [L] Menu: Run->Run to location (from Source/Session Control 
  5708. windows) 
  5709.  
  5710. Run to location executes the program up to the currently highlighted line in 
  5711. the Source window. The debugger starts executing where it last stopped (for 
  5712. example, after a breakpoint) or, if you have not yet run the program in this 
  5713. session, at the beginning of the program. When you select Run to location, 
  5714. execution continues until one of the following occurs: 
  5715.  
  5716.      Execution reaches the location (the line) you selected in the Source 
  5717.       window 
  5718.  
  5719.      The debugger encounters a breakpoint 
  5720.  
  5721.      An exception is encountered that is not handled 
  5722.  
  5723.      The program terminates 
  5724.  
  5725.      You close the debugger 
  5726.  
  5727.  
  5728. ΓòÉΓòÉΓòÉ 4.14.10. Session Control ΓòÉΓòÉΓòÉ
  5729.  
  5730. Button:  Menu: Windows->Session Control Keystroke: Control-B 
  5731.  
  5732. Use this button, menu selection, or shortcut key to raise the Session Control 
  5733. window. 
  5734.  
  5735.  
  5736. ΓòÉΓòÉΓòÉ 4.14.11. Local Variables ΓòÉΓòÉΓòÉ
  5737.  
  5738. Menu: Monitors->Local variables Keystroke: Ctrl+V 
  5739.  
  5740. Opens or raises a Local Variables window, which displays the names and contents 
  5741. of variables that are in scope within the current thread or function. 
  5742.  
  5743.  
  5744. ΓòÉΓòÉΓòÉ 4.14.12. Delete ΓòÉΓòÉΓòÉ
  5745.  
  5746. Select Edit->Delete from a Local Variables monitor, or Delete from a monitor 
  5747. popup menu, to delete the selected expressions from the monitor. 
  5748.  
  5749. To delete all expressions, select Edit->Select all, then Edit->Delete. 
  5750.  
  5751.  
  5752. ΓòÉΓòÉΓòÉ <hidden> Run ΓòÉΓòÉΓòÉ
  5753.  
  5754.  
  5755. ΓòÉΓòÉΓòÉ <hidden> Session Control Button ΓòÉΓòÉΓòÉ
  5756.  
  5757.  
  5758. ΓòÉΓòÉΓòÉ <hidden> Delete Button ΓòÉΓòÉΓòÉ
  5759.  
  5760.  
  5761. ΓòÉΓòÉΓòÉ <hidden> Delete All Button ΓòÉΓòÉΓòÉ
  5762.  
  5763.  
  5764. ΓòÉΓòÉΓòÉ <hidden> Session Control Window ΓòÉΓòÉΓòÉ
  5765.  
  5766.  
  5767. ΓòÉΓòÉΓòÉ <hidden> File Menu ΓòÉΓòÉΓòÉ
  5768.  
  5769.  
  5770. ΓòÉΓòÉΓòÉ <hidden> Open New Source ΓòÉΓòÉΓòÉ
  5771.  
  5772.  
  5773. ΓòÉΓòÉΓòÉ <hidden> Where is Execution Point ΓòÉΓòÉΓòÉ
  5774.  
  5775.  
  5776. ΓòÉΓòÉΓòÉ <hidden> Close Debugger ΓòÉΓòÉΓòÉ
  5777.  
  5778.  
  5779. ΓòÉΓòÉΓòÉ <hidden> Find Function Dialog ΓòÉΓòÉΓòÉ
  5780.  
  5781.  
  5782. ΓòÉΓòÉΓòÉ <hidden> Breakpoints Menu ΓòÉΓòÉΓòÉ
  5783.  
  5784.  
  5785. ΓòÉΓòÉΓòÉ <hidden> Set Line ΓòÉΓòÉΓòÉ
  5786.  
  5787.  
  5788. ΓòÉΓòÉΓòÉ <hidden> Set Function ΓòÉΓòÉΓòÉ
  5789.  
  5790.  
  5791. ΓòÉΓòÉΓòÉ <hidden> Set Storage Change ΓòÉΓòÉΓòÉ
  5792.  
  5793.  
  5794. ΓòÉΓòÉΓòÉ <hidden> Set Load Occurrence ΓòÉΓòÉΓòÉ
  5795.  
  5796.  
  5797. ΓòÉΓòÉΓòÉ <hidden> Breakpoints Menu ΓòÉΓòÉΓòÉ
  5798.  
  5799.  
  5800. ΓòÉΓòÉΓòÉ <hidden> Delete all ΓòÉΓòÉΓòÉ
  5801.  
  5802.  
  5803. ΓòÉΓòÉΓòÉ <hidden> Monitors Menu ΓòÉΓòÉΓòÉ
  5804.  
  5805.  
  5806. ΓòÉΓòÉΓòÉ <hidden> Call Stack Window ΓòÉΓòÉΓòÉ
  5807.  
  5808.  
  5809. ΓòÉΓòÉΓòÉ <hidden> Registers Monitor ΓòÉΓòÉΓòÉ
  5810.  
  5811.  
  5812. ΓòÉΓòÉΓòÉ <hidden> Storage Monitor ΓòÉΓòÉΓòÉ
  5813.  
  5814.  
  5815. ΓòÉΓòÉΓòÉ <hidden> Local Variables Monitor ΓòÉΓòÉΓòÉ
  5816.  
  5817.  
  5818. ΓòÉΓòÉΓòÉ <hidden> Run Menu ΓòÉΓòÉΓòÉ
  5819.  
  5820.  
  5821. ΓòÉΓòÉΓòÉ <hidden> Run ΓòÉΓòÉΓòÉ
  5822.  
  5823.  
  5824. ΓòÉΓòÉΓòÉ <hidden> Halt ΓòÉΓòÉΓòÉ
  5825.  
  5826.  
  5827. ΓòÉΓòÉΓòÉ <hidden> Hide Debugger on Run ΓòÉΓòÉΓòÉ
  5828.  
  5829.  
  5830. ΓòÉΓòÉΓòÉ <hidden> Thread Enabled ΓòÉΓòÉΓòÉ
  5831.  
  5832.  
  5833. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  5834.  
  5835.  
  5836. ΓòÉΓòÉΓòÉ <hidden> Window Settings ΓòÉΓòÉΓòÉ
  5837.  
  5838.  
  5839. ΓòÉΓòÉΓòÉ <hidden> Window Settings ΓòÉΓòÉΓòÉ
  5840.  
  5841.  
  5842. ΓòÉΓòÉΓòÉ <hidden> Window Settings ΓòÉΓòÉΓòÉ
  5843.  
  5844.  
  5845. ΓòÉΓòÉΓòÉ <hidden> Window Settings ΓòÉΓòÉΓòÉ
  5846.  
  5847.  
  5848. ΓòÉΓòÉΓòÉ <hidden> Debugger Settings ΓòÉΓòÉΓòÉ
  5849.  
  5850.  
  5851. ΓòÉΓòÉΓòÉ <hidden> Debugger Properties Dialog ΓòÉΓòÉΓòÉ
  5852.  
  5853.  
  5854. ΓòÉΓòÉΓòÉ <hidden> Monitor Properties Dialog ΓòÉΓòÉΓòÉ
  5855.  
  5856.  
  5857. ΓòÉΓòÉΓòÉ <hidden> Default Data Representation ΓòÉΓòÉΓòÉ
  5858.  
  5859.  
  5860. ΓòÉΓòÉΓòÉ <hidden> Exception Filtering ΓòÉΓòÉΓòÉ
  5861.  
  5862.  
  5863. ΓòÉΓòÉΓòÉ <hidden> Save Debugger Window Positions ΓòÉΓòÉΓòÉ
  5864.  
  5865.  
  5866. ΓòÉΓòÉΓòÉ <hidden> Global Font Change ΓòÉΓòÉΓòÉ
  5867.  
  5868.  
  5869. ΓòÉΓòÉΓòÉ <hidden> Enable Window Cascading ΓòÉΓòÉΓòÉ
  5870.  
  5871.  
  5872. ΓòÉΓòÉΓòÉ <hidden> Program Profiles ΓòÉΓòÉΓòÉ
  5873.  
  5874.  
  5875. ΓòÉΓòÉΓòÉ <hidden> Program Profiles ΓòÉΓòÉΓòÉ
  5876.  
  5877.  
  5878. ΓòÉΓòÉΓòÉ <hidden> Program Profiles ΓòÉΓòÉΓòÉ
  5879.  
  5880.  
  5881. ΓòÉΓòÉΓòÉ <hidden> Program Profiles ΓòÉΓòÉΓòÉ
  5882.  
  5883.  
  5884. ΓòÉΓòÉΓòÉ <hidden> Windows Menu ΓòÉΓòÉΓòÉ
  5885.  
  5886.  
  5887. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  5888.  
  5889.  
  5890. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  5891.  
  5892.  
  5893. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  5894.  
  5895.  
  5896. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  5897.  
  5898.  
  5899. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  5900.  
  5901.  
  5902. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  5903.  
  5904.  
  5905. ΓòÉΓòÉΓòÉ <hidden> Threads/Components Popup Menu ΓòÉΓòÉΓòÉ
  5906.  
  5907.  
  5908. ΓòÉΓòÉΓòÉ <hidden> Threads/Components Popup Menu ΓòÉΓòÉΓòÉ
  5909.  
  5910.  
  5911. ΓòÉΓòÉΓòÉ <hidden> Threads/Components Popup Menu ΓòÉΓòÉΓòÉ
  5912.  
  5913.  
  5914. ΓòÉΓòÉΓòÉ <hidden> Threads/Components Popup Menu ΓòÉΓòÉΓòÉ
  5915.  
  5916.  
  5917. ΓòÉΓòÉΓòÉ <hidden> Threads/Components Popup Menu ΓòÉΓòÉΓòÉ
  5918.  
  5919.  
  5920. ΓòÉΓòÉΓòÉ <hidden> Threads/Components Popup Menu ΓòÉΓòÉΓòÉ
  5921.  
  5922.  
  5923. ΓòÉΓòÉΓòÉ <hidden> Threads/Components Popup Menu ΓòÉΓòÉΓòÉ
  5924.  
  5925.  
  5926. ΓòÉΓòÉΓòÉ <hidden> Threads/Components Popup Menu ΓòÉΓòÉΓòÉ
  5927.  
  5928.  
  5929. ΓòÉΓòÉΓòÉ <hidden> Threads/Components Popup Menu ΓòÉΓòÉΓòÉ
  5930.  
  5931.  
  5932. ΓòÉΓòÉΓòÉ <hidden> Source Window ΓòÉΓòÉΓòÉ
  5933.  
  5934.  
  5935. ΓòÉΓòÉΓòÉ <hidden> File Menu ΓòÉΓòÉΓòÉ
  5936.  
  5937.  
  5938. ΓòÉΓòÉΓòÉ <hidden> Open New Source ΓòÉΓòÉΓòÉ
  5939.  
  5940.  
  5941. ΓòÉΓòÉΓòÉ <hidden> Where is Execution Point ΓòÉΓòÉΓòÉ
  5942.  
  5943.  
  5944. ΓòÉΓòÉΓòÉ <hidden> Close Debugger ΓòÉΓòÉΓòÉ
  5945.  
  5946.  
  5947. ΓòÉΓòÉΓòÉ <hidden> Find Function Dialog ΓòÉΓòÉΓòÉ
  5948.  
  5949.  
  5950. ΓòÉΓòÉΓòÉ <hidden> View Menu ΓòÉΓòÉΓòÉ
  5951.  
  5952.  
  5953. ΓòÉΓòÉΓòÉ <hidden> Find ΓòÉΓòÉΓòÉ
  5954.  
  5955.  
  5956. ΓòÉΓòÉΓòÉ <hidden> Find Next ΓòÉΓòÉΓòÉ
  5957.  
  5958.  
  5959. ΓòÉΓòÉΓòÉ <hidden> Scroll to Line Number ΓòÉΓòÉΓòÉ
  5960.  
  5961.  
  5962. ΓòÉΓòÉΓòÉ <hidden> Select Include ΓòÉΓòÉΓòÉ
  5963.  
  5964.  
  5965. ΓòÉΓòÉΓòÉ <hidden> Change Text File ΓòÉΓòÉΓòÉ
  5966.  
  5967.  
  5968. ΓòÉΓòÉΓòÉ <hidden> Breakpoints Menu ΓòÉΓòÉΓòÉ
  5969.  
  5970.  
  5971. ΓòÉΓòÉΓòÉ <hidden> Set Line ΓòÉΓòÉΓòÉ
  5972.  
  5973.  
  5974. ΓòÉΓòÉΓòÉ <hidden> Set Function ΓòÉΓòÉΓòÉ
  5975.  
  5976.  
  5977. ΓòÉΓòÉΓòÉ <hidden> Set Storage Change ΓòÉΓòÉΓòÉ
  5978.  
  5979.  
  5980. ΓòÉΓòÉΓòÉ <hidden> Set Load Occurrence ΓòÉΓòÉΓòÉ
  5981.  
  5982.  
  5983. ΓòÉΓòÉΓòÉ <hidden> Breakpoints Menu ΓòÉΓòÉΓòÉ
  5984.  
  5985.  
  5986. ΓòÉΓòÉΓòÉ <hidden> Toggle at Current Line ΓòÉΓòÉΓòÉ
  5987.  
  5988.  
  5989. ΓòÉΓòÉΓòÉ <hidden> Delete all ΓòÉΓòÉΓòÉ
  5990.  
  5991.  
  5992. ΓòÉΓòÉΓòÉ <hidden> Prefix Area Popup Menu ΓòÉΓòÉΓòÉ
  5993.  
  5994.  
  5995. ΓòÉΓòÉΓòÉ <hidden> Prefix Area Popup Menu ΓòÉΓòÉΓòÉ
  5996.  
  5997.  
  5998. ΓòÉΓòÉΓòÉ <hidden> Monitors Menu ΓòÉΓòÉΓòÉ
  5999.  
  6000.  
  6001. ΓòÉΓòÉΓòÉ <hidden> Monitor Expression Dialog ΓòÉΓòÉΓòÉ
  6002.  
  6003.  
  6004. ΓòÉΓòÉΓòÉ <hidden> Call Stack Window ΓòÉΓòÉΓòÉ
  6005.  
  6006.  
  6007. ΓòÉΓòÉΓòÉ <hidden> Registers Monitor ΓòÉΓòÉΓòÉ
  6008.  
  6009.  
  6010. ΓòÉΓòÉΓòÉ <hidden> Storage Monitor ΓòÉΓòÉΓòÉ
  6011.  
  6012.  
  6013. ΓòÉΓòÉΓòÉ <hidden> Local Variables Monitor ΓòÉΓòÉΓòÉ
  6014.  
  6015.  
  6016. ΓòÉΓòÉΓòÉ <hidden> Run Menu ΓòÉΓòÉΓòÉ
  6017.  
  6018.  
  6019. ΓòÉΓòÉΓòÉ <hidden> Step Over ΓòÉΓòÉΓòÉ
  6020.  
  6021.  
  6022. ΓòÉΓòÉΓòÉ <hidden> Step Into ΓòÉΓòÉΓòÉ
  6023.  
  6024.  
  6025. ΓòÉΓòÉΓòÉ <hidden> Step Return ΓòÉΓòÉΓòÉ
  6026.  
  6027.  
  6028. ΓòÉΓòÉΓòÉ <hidden> Run ΓòÉΓòÉΓòÉ
  6029.  
  6030.  
  6031. ΓòÉΓòÉΓòÉ <hidden> Halt ΓòÉΓòÉΓòÉ
  6032.  
  6033.  
  6034. ΓòÉΓòÉΓòÉ <hidden> Run to Location ΓòÉΓòÉΓòÉ
  6035.  
  6036.  
  6037. ΓòÉΓòÉΓòÉ <hidden> Jump to Location ΓòÉΓòÉΓòÉ
  6038.  
  6039.  
  6040. ΓòÉΓòÉΓòÉ <hidden> Hide Debugger on Run ΓòÉΓòÉΓòÉ
  6041.  
  6042.  
  6043. ΓòÉΓòÉΓòÉ <hidden> Thread Enabled ΓòÉΓòÉΓòÉ
  6044.  
  6045.  
  6046. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6047.  
  6048.  
  6049. ΓòÉΓòÉΓòÉ <hidden> Window Settings ΓòÉΓòÉΓòÉ
  6050.  
  6051.  
  6052. ΓòÉΓòÉΓòÉ <hidden> Window Settings ΓòÉΓòÉΓòÉ
  6053.  
  6054.  
  6055. ΓòÉΓòÉΓòÉ <hidden> Window Settings ΓòÉΓòÉΓòÉ
  6056.  
  6057.  
  6058. ΓòÉΓòÉΓòÉ <hidden> Window Settings ΓòÉΓòÉΓòÉ
  6059.  
  6060.  
  6061. ΓòÉΓòÉΓòÉ <hidden> Window Settings ΓòÉΓòÉΓòÉ
  6062.  
  6063.  
  6064. ΓòÉΓòÉΓòÉ <hidden> Debugger Settings ΓòÉΓòÉΓòÉ
  6065.  
  6066.  
  6067. ΓòÉΓòÉΓòÉ <hidden> Debugger Properties Dialog ΓòÉΓòÉΓòÉ
  6068.  
  6069.  
  6070. ΓòÉΓòÉΓòÉ <hidden> Monitor Properties Dialog ΓòÉΓòÉΓòÉ
  6071.  
  6072.  
  6073. ΓòÉΓòÉΓòÉ <hidden> Default Data Representation ΓòÉΓòÉΓòÉ
  6074.  
  6075.  
  6076. ΓòÉΓòÉΓòÉ <hidden> Exception Filtering ΓòÉΓòÉΓòÉ
  6077.  
  6078.  
  6079. ΓòÉΓòÉΓòÉ <hidden> Save Debugger Window Positions ΓòÉΓòÉΓòÉ
  6080.  
  6081.  
  6082. ΓòÉΓòÉΓòÉ <hidden> Global Font Change ΓòÉΓòÉΓòÉ
  6083.  
  6084.  
  6085. ΓòÉΓòÉΓòÉ <hidden> Enable Window Cascading ΓòÉΓòÉΓòÉ
  6086.  
  6087.  
  6088. ΓòÉΓòÉΓòÉ <hidden> Program Profiles ΓòÉΓòÉΓòÉ
  6089.  
  6090.  
  6091. ΓòÉΓòÉΓòÉ <hidden> Program Profiles ΓòÉΓòÉΓòÉ
  6092.  
  6093.  
  6094. ΓòÉΓòÉΓòÉ <hidden> Program Profiles ΓòÉΓòÉΓòÉ
  6095.  
  6096.  
  6097. ΓòÉΓòÉΓòÉ <hidden> Program Profiles ΓòÉΓòÉΓòÉ
  6098.  
  6099.  
  6100. ΓòÉΓòÉΓòÉ <hidden> Windows Menu ΓòÉΓòÉΓòÉ
  6101.  
  6102.  
  6103. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6104.  
  6105.  
  6106. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6107.  
  6108.  
  6109. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6110.  
  6111.  
  6112. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6113.  
  6114.  
  6115. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6116.  
  6117.  
  6118. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6119.  
  6120.  
  6121. ΓòÉΓòÉΓòÉ <hidden> Prefix Area Popup Menu ΓòÉΓòÉΓòÉ
  6122.  
  6123.  
  6124. ΓòÉΓòÉΓòÉ <hidden> Prefix Area Popup Menu ΓòÉΓòÉΓòÉ
  6125.  
  6126.  
  6127. ΓòÉΓòÉΓòÉ <hidden> Code Area Popup Menu ΓòÉΓòÉΓòÉ
  6128.  
  6129.  
  6130. ΓòÉΓòÉΓòÉ <hidden> Code Area Popup Menu ΓòÉΓòÉΓòÉ
  6131.  
  6132.  
  6133. ΓòÉΓòÉΓòÉ <hidden> Code Area Popup Menu ΓòÉΓòÉΓòÉ
  6134.  
  6135.  
  6136. ΓòÉΓòÉΓòÉ <hidden> Code Area Popup Menu ΓòÉΓòÉΓòÉ
  6137.  
  6138.  
  6139. ΓòÉΓòÉΓòÉ <hidden> Code Area Popup Menu ΓòÉΓòÉΓòÉ
  6140.  
  6141.  
  6142. ΓòÉΓòÉΓòÉ <hidden> Code Area Popup Menu ΓòÉΓòÉΓòÉ
  6143.  
  6144.  
  6145. ΓòÉΓòÉΓòÉ <hidden> Code Area Popup Menu ΓòÉΓòÉΓòÉ
  6146.  
  6147.  
  6148. ΓòÉΓòÉΓòÉ <hidden> Code Area Popup Menu ΓòÉΓòÉΓòÉ
  6149.  
  6150.  
  6151. ΓòÉΓòÉΓòÉ <hidden> Breakpoints List Window ΓòÉΓòÉΓòÉ
  6152.  
  6153.  
  6154. ΓòÉΓòÉΓòÉ <hidden> File Menu ΓòÉΓòÉΓòÉ
  6155.  
  6156.  
  6157. ΓòÉΓòÉΓòÉ <hidden> Close Debugger ΓòÉΓòÉΓòÉ
  6158.  
  6159.  
  6160. ΓòÉΓòÉΓòÉ <hidden> Edit Menu ΓòÉΓòÉΓòÉ
  6161.  
  6162.  
  6163. ΓòÉΓòÉΓòÉ <hidden> Delete ΓòÉΓòÉΓòÉ
  6164.  
  6165.  
  6166. ΓòÉΓòÉΓòÉ <hidden> Disable ΓòÉΓòÉΓòÉ
  6167.  
  6168.  
  6169. ΓòÉΓòÉΓòÉ <hidden> Modify ΓòÉΓòÉΓòÉ
  6170.  
  6171.  
  6172. ΓòÉΓòÉΓòÉ <hidden> Delete all ΓòÉΓòÉΓòÉ
  6173.  
  6174.  
  6175. ΓòÉΓòÉΓòÉ <hidden> Disable All ΓòÉΓòÉΓòÉ
  6176.  
  6177.  
  6178. ΓòÉΓòÉΓòÉ <hidden> Enable All ΓòÉΓòÉΓòÉ
  6179.  
  6180.  
  6181. ΓòÉΓòÉΓòÉ <hidden> Set Menu ΓòÉΓòÉΓòÉ
  6182.  
  6183.  
  6184. ΓòÉΓòÉΓòÉ <hidden> Set Line ΓòÉΓòÉΓòÉ
  6185.  
  6186.  
  6187. ΓòÉΓòÉΓòÉ <hidden> Set Function ΓòÉΓòÉΓòÉ
  6188.  
  6189.  
  6190. ΓòÉΓòÉΓòÉ <hidden> Set Storage Change ΓòÉΓòÉΓòÉ
  6191.  
  6192.  
  6193. ΓòÉΓòÉΓòÉ <hidden> Set Load Occurrence ΓòÉΓòÉΓòÉ
  6194.  
  6195.  
  6196. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6197.  
  6198.  
  6199. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6200.  
  6201.  
  6202. ΓòÉΓòÉΓòÉ <hidden> Display Style ΓòÉΓòÉΓòÉ
  6203.  
  6204.  
  6205. ΓòÉΓòÉΓòÉ <hidden> Sort ΓòÉΓòÉΓòÉ
  6206.  
  6207.  
  6208. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6209.  
  6210.  
  6211. ΓòÉΓòÉΓòÉ <hidden> Windows Menu ΓòÉΓòÉΓòÉ
  6212.  
  6213.  
  6214. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6215.  
  6216.  
  6217. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6218.  
  6219.  
  6220. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6221.  
  6222.  
  6223. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6224.  
  6225.  
  6226. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6227.  
  6228.  
  6229. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6230.  
  6231.  
  6232. ΓòÉΓòÉΓòÉ <hidden> View ΓòÉΓòÉΓòÉ
  6233.  
  6234.  
  6235. ΓòÉΓòÉΓòÉ <hidden> Delete ΓòÉΓòÉΓòÉ
  6236.  
  6237.  
  6238. ΓòÉΓòÉΓòÉ <hidden> Modify ΓòÉΓòÉΓòÉ
  6239.  
  6240.  
  6241. ΓòÉΓòÉΓòÉ <hidden> Delete all ΓòÉΓòÉΓòÉ
  6242.  
  6243.  
  6244. ΓòÉΓòÉΓòÉ <hidden> Call Stack Window ΓòÉΓòÉΓòÉ
  6245.  
  6246.  
  6247. ΓòÉΓòÉΓòÉ <hidden> File Menu ΓòÉΓòÉΓòÉ
  6248.  
  6249.  
  6250. ΓòÉΓòÉΓòÉ <hidden> Close Debugger ΓòÉΓòÉΓòÉ
  6251.  
  6252.  
  6253. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6254.  
  6255.  
  6256. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6257.  
  6258.  
  6259. ΓòÉΓòÉΓòÉ <hidden> Display Style ΓòÉΓòÉΓòÉ
  6260.  
  6261.  
  6262. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6263.  
  6264.  
  6265. ΓòÉΓòÉΓòÉ <hidden> Windows Menu ΓòÉΓòÉΓòÉ
  6266.  
  6267.  
  6268. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6269.  
  6270.  
  6271. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6272.  
  6273.  
  6274. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6275.  
  6276.  
  6277. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6278.  
  6279.  
  6280. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6281.  
  6282.  
  6283. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6284.  
  6285.  
  6286. ΓòÉΓòÉΓòÉ <hidden> View Menu ΓòÉΓòÉΓòÉ
  6287.  
  6288.  
  6289. ΓòÉΓòÉΓòÉ <hidden> Private Monitor ΓòÉΓòÉΓòÉ
  6290.  
  6291.  
  6292. ΓòÉΓòÉΓòÉ <hidden> File Menu ΓòÉΓòÉΓòÉ
  6293.  
  6294.  
  6295. ΓòÉΓòÉΓòÉ <hidden> Close Debugger ΓòÉΓòÉΓòÉ
  6296.  
  6297.  
  6298. ΓòÉΓòÉΓòÉ <hidden> Edit Menu ΓòÉΓòÉΓòÉ
  6299.  
  6300.  
  6301. ΓòÉΓòÉΓòÉ <hidden> Delete ΓòÉΓòÉΓòÉ
  6302.  
  6303.  
  6304. ΓòÉΓòÉΓòÉ <hidden> Delete All ΓòÉΓòÉΓòÉ
  6305.  
  6306.  
  6307. ΓòÉΓòÉΓòÉ <hidden> Select All ΓòÉΓòÉΓòÉ
  6308.  
  6309.  
  6310. ΓòÉΓòÉΓòÉ <hidden> Deselect All ΓòÉΓòÉΓòÉ
  6311.  
  6312.  
  6313. ΓòÉΓòÉΓòÉ <hidden> Enable ΓòÉΓòÉΓòÉ
  6314.  
  6315.  
  6316. ΓòÉΓòÉΓòÉ <hidden> Disable ΓòÉΓòÉΓòÉ
  6317.  
  6318.  
  6319. ΓòÉΓòÉΓòÉ <hidden> Other Elements ΓòÉΓòÉΓòÉ
  6320.  
  6321.  
  6322. ΓòÉΓòÉΓòÉ <hidden> Representation, Next Representation ΓòÉΓòÉΓòÉ
  6323.  
  6324.  
  6325. ΓòÉΓòÉΓòÉ <hidden> Representation, Next Representation ΓòÉΓòÉΓòÉ
  6326.  
  6327.  
  6328. ΓòÉΓòÉΓòÉ <hidden> Representation, Next Representation ΓòÉΓòÉΓòÉ
  6329.  
  6330.  
  6331. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6332.  
  6333.  
  6334. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6335.  
  6336.  
  6337. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6338.  
  6339.  
  6340. ΓòÉΓòÉΓòÉ <hidden> Show Context ΓòÉΓòÉΓòÉ
  6341.  
  6342.  
  6343. ΓòÉΓòÉΓòÉ <hidden> Show Enablement ΓòÉΓòÉΓòÉ
  6344.  
  6345.  
  6346. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6347.  
  6348.  
  6349. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6350.  
  6351.  
  6352. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6353.  
  6354.  
  6355. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6356.  
  6357.  
  6358. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6359.  
  6360.  
  6361. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6362.  
  6363.  
  6364. ΓòÉΓòÉΓòÉ <hidden> Program Monitor ΓòÉΓòÉΓòÉ
  6365.  
  6366.  
  6367. ΓòÉΓòÉΓòÉ <hidden> File Menu ΓòÉΓòÉΓòÉ
  6368.  
  6369.  
  6370. ΓòÉΓòÉΓòÉ <hidden> Close Debugger ΓòÉΓòÉΓòÉ
  6371.  
  6372.  
  6373. ΓòÉΓòÉΓòÉ <hidden> Edit Menu ΓòÉΓòÉΓòÉ
  6374.  
  6375.  
  6376. ΓòÉΓòÉΓòÉ <hidden> Delete ΓòÉΓòÉΓòÉ
  6377.  
  6378.  
  6379. ΓòÉΓòÉΓòÉ <hidden> Delete All ΓòÉΓòÉΓòÉ
  6380.  
  6381.  
  6382. ΓòÉΓòÉΓòÉ <hidden> Select All ΓòÉΓòÉΓòÉ
  6383.  
  6384.  
  6385. ΓòÉΓòÉΓòÉ <hidden> Deselect All ΓòÉΓòÉΓòÉ
  6386.  
  6387.  
  6388. ΓòÉΓòÉΓòÉ <hidden> Enable ΓòÉΓòÉΓòÉ
  6389.  
  6390.  
  6391. ΓòÉΓòÉΓòÉ <hidden> Disable ΓòÉΓòÉΓòÉ
  6392.  
  6393.  
  6394. ΓòÉΓòÉΓòÉ <hidden> Other Elements ΓòÉΓòÉΓòÉ
  6395.  
  6396.  
  6397. ΓòÉΓòÉΓòÉ <hidden> Representation, Next Representation ΓòÉΓòÉΓòÉ
  6398.  
  6399.  
  6400. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6401.  
  6402.  
  6403. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6404.  
  6405.  
  6406. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6407.  
  6408.  
  6409. ΓòÉΓòÉΓòÉ <hidden> Show Context ΓòÉΓòÉΓòÉ
  6410.  
  6411.  
  6412. ΓòÉΓòÉΓòÉ <hidden> Show Enablement ΓòÉΓòÉΓòÉ
  6413.  
  6414.  
  6415. ΓòÉΓòÉΓòÉ <hidden> Windows Menu ΓòÉΓòÉΓòÉ
  6416.  
  6417.  
  6418. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6419.  
  6420.  
  6421. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6422.  
  6423.  
  6424. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6425.  
  6426.  
  6427. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6428.  
  6429.  
  6430. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6431.  
  6432.  
  6433. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6434.  
  6435.  
  6436. ΓòÉΓòÉΓòÉ <hidden> Local Variables Monitor ΓòÉΓòÉΓòÉ
  6437.  
  6438.  
  6439. ΓòÉΓòÉΓòÉ <hidden> File Menu ΓòÉΓòÉΓòÉ
  6440.  
  6441.  
  6442. ΓòÉΓòÉΓòÉ <hidden> Close Debugger ΓòÉΓòÉΓòÉ
  6443.  
  6444.  
  6445. ΓòÉΓòÉΓòÉ <hidden> Edit Menu ΓòÉΓòÉΓòÉ
  6446.  
  6447.  
  6448. ΓòÉΓòÉΓòÉ <hidden> Delete ΓòÉΓòÉΓòÉ
  6449.  
  6450.  
  6451. ΓòÉΓòÉΓòÉ <hidden> Select All ΓòÉΓòÉΓòÉ
  6452.  
  6453.  
  6454. ΓòÉΓòÉΓòÉ <hidden> Deselect All ΓòÉΓòÉΓòÉ
  6455.  
  6456.  
  6457. ΓòÉΓòÉΓòÉ <hidden> Other Elements ΓòÉΓòÉΓòÉ
  6458.  
  6459.  
  6460. ΓòÉΓòÉΓòÉ <hidden> Representation, Next Representation ΓòÉΓòÉΓòÉ
  6461.  
  6462.  
  6463. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6464.  
  6465.  
  6466. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6467.  
  6468.  
  6469. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6470.  
  6471.  
  6472. ΓòÉΓòÉΓòÉ <hidden> Show Context ΓòÉΓòÉΓòÉ
  6473.  
  6474.  
  6475. ΓòÉΓòÉΓòÉ <hidden> Show Enablement ΓòÉΓòÉΓòÉ
  6476.  
  6477.  
  6478. ΓòÉΓòÉΓòÉ <hidden> Windows Menu ΓòÉΓòÉΓòÉ
  6479.  
  6480.  
  6481. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6482.  
  6483.  
  6484. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6485.  
  6486.  
  6487. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6488.  
  6489.  
  6490. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6491.  
  6492.  
  6493. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6494.  
  6495.  
  6496. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6497.  
  6498.  
  6499. ΓòÉΓòÉΓòÉ <hidden> Popup Monitor ΓòÉΓòÉΓòÉ
  6500.  
  6501.  
  6502. ΓòÉΓòÉΓòÉ <hidden> Delete ΓòÉΓòÉΓòÉ
  6503.  
  6504.  
  6505. ΓòÉΓòÉΓòÉ <hidden> Disable ΓòÉΓòÉΓòÉ
  6506.  
  6507.  
  6508. ΓòÉΓòÉΓòÉ <hidden> Edit Contents ΓòÉΓòÉΓòÉ
  6509.  
  6510.  
  6511. ΓòÉΓòÉΓòÉ <hidden> Dereference ΓòÉΓòÉΓòÉ
  6512.  
  6513.  
  6514. ΓòÉΓòÉΓòÉ <hidden> Representation, Next Representation ΓòÉΓòÉΓòÉ
  6515.  
  6516.  
  6517. ΓòÉΓòÉΓòÉ <hidden> Other Elements ΓòÉΓòÉΓòÉ
  6518.  
  6519.  
  6520. ΓòÉΓòÉΓòÉ <hidden> Registers Monitor ΓòÉΓòÉΓòÉ
  6521.  
  6522.  
  6523. ΓòÉΓòÉΓòÉ <hidden> File Menu ΓòÉΓòÉΓòÉ
  6524.  
  6525.  
  6526. ΓòÉΓòÉΓòÉ <hidden> Close Debugger ΓòÉΓòÉΓòÉ
  6527.  
  6528.  
  6529. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6530.  
  6531.  
  6532. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6533.  
  6534.  
  6535. ΓòÉΓòÉΓòÉ <hidden> Display Style ΓòÉΓòÉΓòÉ
  6536.  
  6537.  
  6538. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6539.  
  6540.  
  6541. ΓòÉΓòÉΓòÉ <hidden> Windows Menu ΓòÉΓòÉΓòÉ
  6542.  
  6543.  
  6544. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6545.  
  6546.  
  6547. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6548.  
  6549.  
  6550. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6551.  
  6552.  
  6553. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6554.  
  6555.  
  6556. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6557.  
  6558.  
  6559. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6560.  
  6561.  
  6562. ΓòÉΓòÉΓòÉ <hidden> Storage Monitor ΓòÉΓòÉΓòÉ
  6563.  
  6564.  
  6565. ΓòÉΓòÉΓòÉ <hidden> File Menu ΓòÉΓòÉΓòÉ
  6566.  
  6567.  
  6568. ΓòÉΓòÉΓòÉ <hidden> Close Debugger ΓòÉΓòÉΓòÉ
  6569.  
  6570.  
  6571. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6572.  
  6573.  
  6574. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6575.  
  6576.  
  6577. ΓòÉΓòÉΓòÉ <hidden> Display Style ΓòÉΓòÉΓòÉ
  6578.  
  6579.  
  6580. ΓòÉΓòÉΓòÉ <hidden> Monitor Expression in Storage ΓòÉΓòÉΓòÉ
  6581.  
  6582.  
  6583. ΓòÉΓòÉΓòÉ <hidden> Options Menu ΓòÉΓòÉΓòÉ
  6584.  
  6585.  
  6586. ΓòÉΓòÉΓòÉ <hidden> Windows Menu ΓòÉΓòÉΓòÉ
  6587.  
  6588.  
  6589. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6590.  
  6591.  
  6592. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6593.  
  6594.  
  6595. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6596.  
  6597.  
  6598. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6599.  
  6600.  
  6601. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6602.  
  6603.  
  6604. ΓòÉΓòÉΓòÉ <hidden> Help ΓòÉΓòÉΓòÉ
  6605.  
  6606.  
  6607. ΓòÉΓòÉΓòÉ <hidden> Default Data Representation ΓòÉΓòÉΓòÉ
  6608.  
  6609.  
  6610. ΓòÉΓòÉΓòÉ <hidden> Default Data Representation ΓòÉΓòÉΓòÉ
  6611.  
  6612.  
  6613. ΓòÉΓòÉΓòÉ <hidden> Shortcut Keys ΓòÉΓòÉΓòÉ
  6614.  
  6615.  
  6616. ΓòÉΓòÉΓòÉ <hidden> Set Line ΓòÉΓòÉΓòÉ
  6617.  
  6618.  
  6619. ΓòÉΓòÉΓòÉ <hidden> Set Function ΓòÉΓòÉΓòÉ
  6620.  
  6621.  
  6622. ΓòÉΓòÉΓòÉ <hidden> Set Storage Change ΓòÉΓòÉΓòÉ
  6623.  
  6624.  
  6625. ΓòÉΓòÉΓòÉ <hidden> Set Load Occurrence ΓòÉΓòÉΓòÉ
  6626.  
  6627.  
  6628. ΓòÉΓòÉΓòÉ <hidden> Breakpoints Menu ΓòÉΓòÉΓòÉ
  6629.  
  6630.  
  6631. ΓòÉΓòÉΓòÉ <hidden> Display Style ΓòÉΓòÉΓòÉ
  6632.  
  6633.  
  6634. ΓòÉΓòÉΓòÉ <hidden> Default Data Representation ΓòÉΓòÉΓòÉ
  6635.  
  6636.  
  6637. ΓòÉΓòÉΓòÉ <hidden> Display Style ΓòÉΓòÉΓòÉ
  6638.  
  6639.  
  6640. ΓòÉΓòÉΓòÉ <hidden> Exception Filtering Dialog ΓòÉΓòÉΓòÉ
  6641.  
  6642.  
  6643. ΓòÉΓòÉΓòÉ <hidden> Exception Dialog ΓòÉΓòÉΓòÉ
  6644.  
  6645.  
  6646. ΓòÉΓòÉΓòÉ <hidden> Find Function Dialog ΓòÉΓòÉΓòÉ
  6647.  
  6648.  
  6649. ΓòÉΓòÉΓòÉ <hidden> Monitor Expression Dialog ΓòÉΓòÉΓòÉ
  6650.  
  6651.  
  6652. ΓòÉΓòÉΓòÉ <hidden> Monitor Properties Dialog ΓòÉΓòÉΓòÉ
  6653.  
  6654.  
  6655. ΓòÉΓòÉΓòÉ <hidden> Open New Source Dialog ΓòÉΓòÉΓòÉ
  6656.  
  6657.  
  6658. ΓòÉΓòÉΓòÉ <hidden> Overloaded Dialog ΓòÉΓòÉΓòÉ
  6659.  
  6660.  
  6661. ΓòÉΓòÉΓòÉ <hidden> Overloaded Dialog ΓòÉΓòÉΓòÉ
  6662.  
  6663.  
  6664. ΓòÉΓòÉΓòÉ <hidden> Program Profiles ΓòÉΓòÉΓòÉ
  6665.  
  6666.  
  6667. ΓòÉΓòÉΓòÉ <hidden> Program Profiles ΓòÉΓòÉΓòÉ
  6668.  
  6669.  
  6670. ΓòÉΓòÉΓòÉ <hidden> Program Profiles ΓòÉΓòÉΓòÉ
  6671.  
  6672.  
  6673. ΓòÉΓòÉΓòÉ <hidden> Display Style ΓòÉΓòÉΓòÉ
  6674.  
  6675.  
  6676. ΓòÉΓòÉΓòÉ <hidden> Change Text File ΓòÉΓòÉΓòÉ
  6677.  
  6678.  
  6679. ΓòÉΓòÉΓòÉ <hidden> Window Settings ΓòÉΓòÉΓòÉ
  6680.  
  6681.  
  6682. ΓòÉΓòÉΓòÉ <hidden> Source Filename Dialog ΓòÉΓòÉΓòÉ
  6683.  
  6684.  
  6685. ΓòÉΓòÉΓòÉ <hidden> Debugger Properties Dialog ΓòÉΓòÉΓòÉ
  6686.  
  6687.  
  6688. ΓòÉΓòÉΓòÉ <hidden> Scroll to Line Number ΓòÉΓòÉΓòÉ
  6689.  
  6690.  
  6691. ΓòÉΓòÉΓòÉ <hidden> Find ΓòÉΓòÉΓòÉ
  6692.  
  6693.  
  6694. ΓòÉΓòÉΓòÉ <hidden> Select Include ΓòÉΓòÉΓòÉ
  6695.  
  6696.  
  6697. ΓòÉΓòÉΓòÉ <hidden> Monitor Expression in Storage ΓòÉΓòÉΓòÉ
  6698.  
  6699.  
  6700. ΓòÉΓòÉΓòÉ <hidden> Display Style ΓòÉΓòÉΓòÉ
  6701.  
  6702.  
  6703. ΓòÉΓòÉΓòÉ <hidden> Display Style ΓòÉΓòÉΓòÉ
  6704.  
  6705.  
  6706. ΓòÉΓòÉΓòÉ <hidden> Other Elements ΓòÉΓòÉΓòÉ
  6707.  
  6708.  
  6709. ΓòÉΓòÉΓòÉ <hidden> Delete ΓòÉΓòÉΓòÉ
  6710.  
  6711.  
  6712. ΓòÉΓòÉΓòÉ <hidden> Prefix Area Popup Menu ΓòÉΓòÉΓòÉ
  6713.  
  6714.  
  6715. ΓòÉΓòÉΓòÉ <hidden> Prefix Area Popup Menu ΓòÉΓòÉΓòÉ
  6716.  
  6717.  
  6718. ΓòÉΓòÉΓòÉ <hidden> Run ΓòÉΓòÉΓòÉ
  6719.  
  6720.  
  6721. ΓòÉΓòÉΓòÉ <hidden> Step Into ΓòÉΓòÉΓòÉ
  6722.  
  6723.  
  6724. ΓòÉΓòÉΓòÉ <hidden> Step Over ΓòÉΓòÉΓòÉ
  6725.  
  6726.  
  6727. ΓòÉΓòÉΓòÉ <hidden> Step Return ΓòÉΓòÉΓòÉ
  6728.  
  6729.  
  6730. ΓòÉΓòÉΓòÉ <hidden> Call Stack Button ΓòÉΓòÉΓòÉ
  6731.  
  6732.  
  6733. ΓòÉΓòÉΓòÉ <hidden> Registers Button ΓòÉΓòÉΓòÉ
  6734.  
  6735.  
  6736. ΓòÉΓòÉΓòÉ <hidden> Storage Button ΓòÉΓòÉΓòÉ
  6737.  
  6738.  
  6739. ΓòÉΓòÉΓòÉ <hidden> Session Control Button ΓòÉΓòÉΓòÉ
  6740.  
  6741.  
  6742. ΓòÉΓòÉΓòÉ <hidden> Monitor Expression Button ΓòÉΓòÉΓòÉ
  6743.  
  6744.  
  6745. ΓòÉΓòÉΓòÉ <hidden> Breakpoints Button ΓòÉΓòÉΓòÉ
  6746.  
  6747.  
  6748. ΓòÉΓòÉΓòÉ <hidden> Growth Direction Push button ΓòÉΓòÉΓòÉ
  6749.  
  6750.  
  6751. ΓòÉΓòÉΓòÉ <hidden> Delete Button ΓòÉΓòÉΓòÉ
  6752.  
  6753.  
  6754. ΓòÉΓòÉΓòÉ <hidden> Delete all ΓòÉΓòÉΓòÉ
  6755.  
  6756.