═══ 1. ═══ Select the Forward pushbutton to go to the Introduction. (C) Copyright International Business Machines Corporation, 1995. All rights reserved. ═══ Dummy ═══ ═══ Dummy ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ Dummy ═══ Select the Forward pushbutton to go to the Introduction. (C) Copyright International Business Machines Corporation, 1995. All rights reserved. ═══  ═══ Select the Forward pushbutton to go to the Introduction. (C) Copyright International Business Machines Corporation, 1995. All rights reserved. ═══ Dummy ═══ ═══ Dummy ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ Dummy ═══ Select the Forward pushbutton to go to the Introduction. (C) Copyright International Business Machines Corporation, 1995. All rights reserved. ═══ 2.  ═══ ═══ 3. ═══ ═══ 3.1. ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 3.2. ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 3.3. ═══ Welcome to IBM VisualAge C++ for OS/2 Use the Debugger In this part, you create a run-time error in the source code, and then use the VisualAge C++ Debugger, to locate and correct the error. This part is dependent on the successful completion of the items in Edit and Compile. In the Welcome project, open the pop-up menu of oview.cpp (click mouse button 2 on oview.cpp), and select Edit to open the file in an edit session. To simulate a coding error, add double slashes (//) to the line coded as test1.setString ("Welcome to VisualAge C++"); to comment it out. Press F3 to close the Editor and click on the Yes pushbutton in the Editor Warning dialog to save the changed file. In the Welcome project, select the Smarts button on the project toolbar. The Build Smarts window that opens indicates that the project will be built for debugging. (Double-click here for a description of Build Smarts.) Click on the OK pushbutton. You are now ready to rebuild the project. Build Smarts is a quick way to configure project build options so that you can use VisualAge C++ components that require special build support. When you select Build Smarts, the build options will be incremented to include debugging by default (as indicated by the Debugger check box state). Open the Project pulldown menu, click on the arrow beside Build to open the cascade menu, and click on Rebuild all to rebuild the project. The project build cycle is displayed in the Monitor window and the project builds successfully. Run the program to display its output in the Project monitor - click mouse button 2 on oview.exe. On the pop-up menu, click on the arrow beside Run to open the cascade menu and select Monitored. (If oview.exe does not appear in the project parts container, ensure that * has been entered in the parts filter entry field so that all project parts are displayed.) The program runs and its output is sent to the Monitor for viewing. The expected output Welcome to VisualAge C++ does not appear in the window. To start the Debugger, select the Debug button on the Project toolbar, or open the Project menu and select Debug. (The Program profile warning may appear. Select the No pushbutton.) Three windows open: Debugger Control Debug Appl Source. Since the expression for the variable test1 did not appear in the program's output, go to the Source view window, open the Monitors pulldown menu and select Monitor expression. Type test1 in the Expression entry field of the Monitor expression window and select the Program Monitor pushbutton. A Program Monitor window opens. It shows that the testString expression of test1 is not allocated. In the Source window, single step through the program by clicking mouse button 2 to execute each line of the program. When the cout statement is executed, the allocation for testString in the Program Monitor window is not the expected text. This indicates that test1 is not being initialized to Welcome to ... . In the Source window you can see that test1 has been commented out and therefore cannot be initialized. To open an Editor session at a specific point in the source file, double-click on the background beside a particular statement in the Debugger Source view. In this case, double-click on the background beside test1.setString ... The oview.cpp source file opens in the Editor and the cursor is at the line designated by the double-click action in the Debugger source view window. Remove the double slashes (//) from the line coded with test1.... Press F3 to close the Editor and click on the Yes pushbutton in the Editor Warning dialog to save the changed file. Also close the Debugger by pressing F3 in any of the Debugger windows. The debugger needs to be closed to free the executable (oview.exe) for the project build cycle. Rebuild the project by selecting the Build  Rebuild all cascade menu item on the Project pulldown menu. After the project builds successfully, run the executable (select Run  Monitored in the Project pulldown menu) and you will see that the expected text appears in the project Monitor. This series of steps introduced you to Build Smarts, the Debugger, and the Debug Program Monitor. In addition, you invoked the Editor ═══ 3.4.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 3.5.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 3.6.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 3.7.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 3.8.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 3.9.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 3.10.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 3.11.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 3.12.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 4.  ═══ ═══ 4.1.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 4.2.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 4.3.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 4.4.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 4.5.  ═══ Welcome to IBM VisualAge C++ for OS/2 ═══ 5.  ═══ ═══ 6.  ═══ ═══ 6.1.  ═══ ═══ 6.2. ═══ ═══ 6.3. ! ═══ ═══ 6.4. " ═══ ═══ 6.5. # ═══ ═══ 6.6. $ ═══ ═══ 6.6.1. % ═══ ═══ 6.6.2. & ═══ ═══ 6.6.3. ' ═══ ═══ 6.6.4. ( ═══ ═══ 6.7. ) ═══ ═══ 6.8. * ═══ ═══ 6.9. + ═══ ═══ 6.10. , ═══ ═══ 6.11. - ═══ ═══ 6.12. . ═══ ═══ 6.12.1. / ═══ ═══ 6.12.2. 0 ═══ ═══ 6.12.3. 1 ═══ ═══ 6.12.4. 2 ═══ ═══ 6.12.5. 3 ═══ ═══ 6.12.6. 4 ═══ ═══ 6.12.7. 5 ═══ ═══ 6.12.8. 6 ═══ ═══ 6.12.9. 7 ═══ ═══ 6.12.10. 8 ═══ ═══ 6.12.11. 9 ═══ ═══ 6.12.12. : ═══ ═══ ; ═══ ═══ 6.12.13. < ═══ ═══ 6.12.14. = ═══ ═══ 6.12.15. > ═══ ═══ 6.12.16. ? ═══ ═══ 6.12.17. @ ═══ ═══ 6.12.18. A ═══ ═══ 6.12.19. B ═══ ═══ 6.12.20. C ═══ ═══ 6.12.21. D ═══ ═══ 6.12.22. E ═══ ═══ 6.12.23. F ═══ ═══ 6.12.24. G ═══ ═══ 6.12.25. H ═══ ═══ 6.12.26. I ═══ ═══ 7. J ═══ ═══ 7.1. K ═══ ═══ 7.2. L ═══ ═══ 7.3. M ═══ ═══ N ═══ ═══ O ═══ ═══ 7.4. P ═══ ═══ 7.5. Q ═══ ═══ 8. R ═══ ═══ ═══ Object files are compiler output files that are linked to comprise an executable. ═══ ═══ A function is defined by the Performance Analyzer as a callable section within the application. For the Performance Analyzer, procedures and functions are synonymous. ═══ ═══ Hot spots are areas within an application where a disproportionate amount of time was spent. Plus, this information helps to determine which functions caused those hot spots. ═══ ═══ A time stamp is the actual time at which an event occurred when the application was being traced.