Xbase++ Workbench:xwb

Debugging the target Foundation

A debugging session is started via the Run menu of the Xbase++ Workbench. Take a look at this menu to see the various options available in this menu. We are going to use the Single Step option in this Getting Started tour which means that you step through the source code by pressing the F8 key.

Before you press F8, you should open two dockable windows that display debug information: "Variables" and "Object Inspector". The former is opened via the menu options View -> Debug Windows -> Variables while the latter is opened via View -> Object Inspector.

All windows displaying debug information are dockable, i.e. you can drag them onto the desktop or drop them into a docking region of the Xbase++ Workbench. Docking regions exist on each side of the Source Code Window.

Make sure that both, "Variables" and "Object Inspector", are visible when you press F8. Continue to press F8 and watch the changes in both windows while the Source Code Window displays the program line that is being executed in the debugger.

While stepping through the code with F8, try out the context menu of "Variables" by right-clicking this window. The menu allows for selecting the variables to display by scope. I.e. you can include or exclude LOCAL, STATIC, PRIVATE, PUBLIC or FIELD variables in the "Variables" window.

These exercises make you familiar with the debugging windows, all of which are opened via the View menu. The debugging session ends when you close the LOGIN_G window or when you select Run -> Reset Programin the Xbase++ Workbench.

You can repeat this exercise with another target, LOGIN_T.EXE, for example. To accomplish this, you activate the new target by opening the context menu on LOGIN_T.EXE in the Project Manager and select Activate. When you start a new debug session, the debugger displays the source code contained in LOGIN_T.PRG, because LOGIN_T.EXE is selected as the active target.

Back

Feedback

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.