Copyright: VBTrace Copyright(C) 1994 Charles Stuart


Contents
Contents:

Getting Started

Installing VBTrace

Quick Start

About VBTrace

What is VBTrace

What VBTrace Does

The VBTrace Display

Features

Standard Trace Features

Additional Features

VBTrace Menus

VBTrace Menus

Other Information:

In Case Of A Problem

Special Offer

Registering VBTrace


Installing VBTrace
Installing VBTrace:

1 	Create a directory for VBTrace.

2 	Using PKUNZIP, unzip VBTRACE.ZIP into the directory created in step 1.

3 	From Windows Program Manager, select File, New, and Program Item to install the VBTrace icon into the desired program group.

After installation, the VBTrace directory should contain the following files.

VBTRACE.EXE	The VBTrace executable.
VBTRACE.HLP	This Help file.
VBTRACE.BAS	The code module added to the project being traced.
VBCTL3D.VBX	Third party control for 3D appearance.
SSDATA2.VBX	Grid control from Sheridan Software.

IMPORTANT NOTE:
VBTrace requires the latest versions of SSDATA2.VBX and VBCTL3D.VBX. If you have earlier versions on your disk, you must replace them with the versions in VBTRACE.ZIP. Later versions are OK.

If you have no other programs which require SSDATA2.VBX or VBCTL3D.VBX you may leave them in the VBTrace directory, otherwise they should be moved to the Windows\System directory.

SSDATA2.VBX is the Data Widgets grid control from Sheridan Software.

VBCTL3D.VBX is a shareware control used to give VBTrace a 3D appearance. The file name is VB3D.ZIP. It may be downloaded from lib 5 in the MSBASIC forum on CIS or from CICA on the Internet.


Quick Start
VBTrace Quick Start:

Quick Start allows you to get VBTrace up and running without the mundane chore of actually having to read instructions.  It is assumed that VBTrace has been installed and the VBTrace icon has been added to the desired program group.

1 	To start VBTrace, double click on the VBTrace icon in Windows Program Manager.

2 	VBTrace will automatically display the Open File common dialog box from which you may select a Visual Basic project to trace.

3 	After selecting a project, click on the VB button on the toolbar to minimize VBTrace and load the selected project into the Visual Basic environment.

4 	Start the application being traced.

At any time, you can switch to VBTrace, view the trace listing, then switch back to the application being traced.  You may switch back and forth as often as necessary.  The VBTrace listing will continue to grow until you exit the application being traced or use the Clear Listing button on the VBTrace Toolbar.


What Is VBTrace
What Is VBTrace:

VBTrace is a utility program designed primarily to fill a void in the Visual Basic tool kit, namely the ability to obtain a listing of the procedures executed by a Visual Basic program in the order in which they are executed.  The standard step tracing provided with Visual Basic is fine for tracing code within a procedure, but is inadequate for tracing program flow from procedure to procedure.  Step tracing cannot follow idle time events such as SetFocus or input from the keyboard.  Using step tracing will, in many instances, actually change the order in which the procedures are executed.

With VBTrace you can easily:

•	Spot procedures which are being called accidentally or unnecessarily,

•	See the exact order in which procedures and events are executed.

•	See why a particular form takes so long to load

•	Know how many forms are loaded at any point in a program.

•	Tell if a procedure is being called recursively,

•	See which areas of your program use the most Windows resources.

•	See when each form is actually loaded and unloaded.

•	Track GDI, USER, and Global Memory usage from procedure to procedure.

•	Track disk space usage.

•	Set and track an unlimited number of watch variables.

•	Monitor the value of arguments being passed to procedures.

•	Pinpoint cascade events.

•	Time a procedure or group of procedures.

•	Automatically add Error Code to each procedure in a project.

•	Add line numbers to each executable statement in a project. This is convenient for locating errors in compiled programs.

•	Generate a cross reference listing showing all global, form level, and procedure level variables being used in the program and where each is referenced. Also shown are variables created but never referenced.

•	Generate a cross reference listing showing all procedures in the program and where each procedure is referenced. Also shown are procedures which are never referenced in the program.

There are times in your Visual Basic program when the user clicks, tabs, or Alt/keys and you have no idea which procedures are executed and in what order.  With VBTrace, you always know.


What VBTrace Does
What VBTrace Does:

VBTrace automatically inserts trace code into each procedure in your Visual Basic program.  At least two lines are added to each procedure.  One to record when the procedure is entered and one for each exit point in the procedure.  VBTrace also adds the code module VBTRACE.BAS to the project MAK file.

During the execution of your program, the trace code sends the name of each procedure being entered or exited to the VBTRACE.BAS code module.  The code module then writes the name of the procedure and the name and value of any variables or resources being traced to the procedure trace file, VBTRACE.TXT.

When VBTrace is not running, the trace code is ignored and your application performs in a normal manner.

VBTRACE.BAS is in text format.  PLEASE! do not make changes to the VBTRACE.BAS code module.  This code module is dynamically reprogramed 'on the fly' whenever changes are made to the VBTrace configuration and VBTrace expects it to be in the correct format.

Once procedure tracing is no longer required, VBTrace may be used to automatically remove all trace code from your program and remove the VBTRACE.BAS code module from the project MAK file.


Screen

Click on any item above to see information on that item.


Standard Features
Standard Trace Features:

 Trace Code Manager

 Watch Variables Manager

 Exceptions Manager

 Headings Collection

 Procedure Search

 Backup / Restore Project


Trace Code Manager

Click on any item above to see information on that item.

Trace code should be added whenever new procedures are added to the project..

Trace code cannot be added to a running program.  If the selected program is already running, it will be automatically unloaded, trace code will be added. and the program will be reloaded.

After trace code has been added to the project, select the VB button on the toolbar to minimize VBTrace and switch to the project being traced. While minimized, VBTrace shows the available GDI, USER, and Global Heap memory.

After executing the desired portions of your program, switch back to VBTrace and view the trace listing.  You may switch back and forth as often as desired. The trace listing will continue to grow until the project being traced is restarted or the trace listing is cleared.

It is unecessary to remove the trace code to return your project to normal operation.  Trace code is automatically disabled whenever VBTrace is not running.


VariablesManager

Click on any item above to see information on that item.

IMPORTANT NOTE:  Variables which are passed directly to procedures are automatically displayed in the Procedures column of the VBTrace listing.  Do not add these variables to the Watch Variables Collection.

Whenever a Watch variable is added or modified, the new heading configuration is added to the Headings Collection.

Global Variable Name:

When an Add operation is selected, the dropdown list contains the names of all global variables in the currently selected project. When Modify is selected, the dropdown list contains the default variables plus any previously selected global variables.

Global Variables Index:

If an array variable is selected, enter the index value into the Index box.  The Index must be either a numeric literal within the lower and upper bounds of the array or else an Index variable which is global in scope.

Column Heading:

Enter the name to appear at the top of the column in the VBTrace listing.

Column Width:

Enter the column width in characters.  If the data or Column Heading exceeds the column width, they will be truncated.  NOTE, to resize a column in the VBTrace grid at runtime, place the cursor on the column separator bar on the VBTrace heading, the cursor will change to a small black cross, hold down the left mouse button and drag the column separator to the desired location.

Format String:

Enter any valid Visual Basic format string.  This is the only optional entry.

Data Alignment:

Select the alignment for the data to appear in this column.

Status:

The Status field determines whether the global variable being entered or modified will appear in the current heading. Enter a 1 to include it, enter 0 to remove it. The Status of any global variable may be changed at any time. Adding a new global variable to the current heading, or modifying an existing variable, will automatically add a new entry to the headings collection. This allows you to return to any previous heading with only a mouse click.


Exception Events

Click on any item above to see more information on that item.

The Exception Events feature allows you to flag procedures, events, or entire forms to not be included in the trace listing.

An example of an Exception Event might be a MouseMove event.  A MouseMove event could generate many llines in the trace listing but add no useful information toto the debugging process.

Exception Events may be added or removed at any time.


Headings Collection

Click on any item above to see more information on that item.

Click on the H button on the toolbar to view the available headings. The two headings shown above are created automatically in the original VBTrace configuration. Each column is explained below.

•	Line Number: Used to track a particular procedure or procedures.

•	Previous Line Number: The line number where the current procedure was previously referenced. This is used to trace a procedure back through the listing.

•	Time: The time in seconds and tenths of a second required to execute the current instance of this procedure. Shown on exit lines only.

•	Cum: Cumlative time to execute all instances of this procedure up to this point.

•	%: The percentage of total execution time up to this point used by this procedure.

•	The total execution time required by this project up to this time.

•	Enter:  The number of times, including this time, that the current procedure has been entered.

•	Exit: The number of times, including this time, this procedure has been exited.

•	Procedure Name: The name of the current procedure. Also shown in this column is whether the procedure is being entered or exited, and the value of each argument being passed to this procedure.


ProcedureSearch

Click on any item above for information on that item.

The Procedure Search feature may be used to search for a particular procedure, or the entry and exit points of a particular procedure. Press F3 to find the next occurrence of a search string.

Check the 'Match Case' check box to find only procedure names which exactly match the case of the search string.

Check the 'Match Whole Word Only' check box to find only procedure names which exactly match the search string.  If this box is not checked, all procedure names which begin with the search string will be displayed.


Backup Restore

Click on any item above to see more information on that item.

The Backup / Restore feature allows you to backup the project files before making changes to the source code. If a problem occurs, you can easily restore the project files to thei original condition. If the backup directory does not exist, VBTrace will create it.

PROJECT: Select this option to backup only the files in the project MAK file.

DIRECTORY: Select this option to backup all files in the project directory. Files which are referenced in the project MAK file, but not located in the project directory, will not be backed up unless the PROJECT option is also selected.


Additional Features

 Reports Manager

 Error Code Manager

 Add Line Numbers


ReportManager

Click on any item above for information on that item.

Three types of reports may be printed; Variables Cross Reference, Procedures Cross Reference, and a hard copy of the VBTrace listing.

The VBTrace listing report may be printed at any time. The 'Build XReference' button must be selected to create the Cross Reference reports before printing. After building the Cross Reference reports, use the report options to create the desired report.

The Variables Cross Reference report shows all variables which have been declared at either the global level, form level, or procedure level. The report shows all references to each variable, the procedures where the variables are referenced, and the number of times each variable is referenced. The report also identifies all variables which have been declared in the program but are never referenced in code. The unreferenced variables may be printed as a separate report.

The Procedures Cross Reference report shows all procedures in the project, where each procedure is referenced, and the number of times each procedure is referenced. The report also shows any procedures which are never referenced. The unreferenced procedures may be printed as a separate report.

The Variables Cross Reference and Procedures Cross Reference reports may be printed to the screen, printer, or to a disk file. A file name must be entered when printing to a disk file.

The trace report may be printed to the printer or to a disk file. The additional information shown on the VBTrace Status Bar may be included in the report by checking the 'Include Resources' check box.

Click on the Printer Setup command button to set or change the default printer settings.

Click on the Screen Setup command button to set the appearance of reports printed to the screen.


ErrorCodeManager

Click on any item above to see more information on that item.

The VBTrace Error Code Manager may be used to automatically add error code to, and remove error code from, each procedure and event in your Visual Basic application. If the procedure or event already contains error code, no additional error code is added.

The error code added to each procedure and event is shown below.

On Error GoTo VBT_ErrorLabel38448027

Exit Sub
VBT_ErrorLabel38448027:
    VBTErrorHandler "MYFORM.FRM", "MyProcedure", Error$, Err, Erl
     Exit Sub
End Sub

When an error is encountered, the form name, procedure name, error in verbage, error number, and line number where the error occurred are passed to a global error routine.  This error routine may be customized to either terminate the program or pass control back to the procedure where the error occurred.


Line Numbers

Click on any item above to see information on that item.

LINE NUMBERS? Yes, line numbers. For debugging compiled programs, there is just nothing like line numbers. Which error message would you perfer to see from a compiled program?

Illegal function call
or
Illegal function call in Line 53714.

It is best to add line numbers to a program just before compiling it to make sure all executable statements are numbered. VBTrace begins numbering with 30,000. If you use line numbers in your program, use only numbers below 30,000 so VBTrace will leave those lines alone.


Menus
Menus:

File

Operations

User

Setseup

Help


File Menu
File Menu:

SELECT A PROJECT:
Select a Visual Basic project to trace.

BACKUP / RESTORE PROJECT:
Back up the Visual Basic project before adding trace code.

EXIT VBTRACE:


Operations Menu
Operations Menu:

WATCH VARIABLES:
Brings up the Watch Variables Manager.

TRACE CODE:
Brings up the Trace Code Manager.

PROCEDURE SEARCH:
Search the VBTrace report for a particular procedure or event.

REPORTS MANAGER:
Print a hard copy of the VBTrace report as well as Cross Reference reports for variables and procedures.

SHOW HEADINGS COLLECTION:
Shows the available headings for the VBTrace listing.

CLEAR THE LISTING:
Clears the VBTrace listing.

EXEMPTION EVENTS:
Allows you to flag procedures, events, or entire forms to not be included in the trace listing.

ERROR CODE:
Adds error code to each procedure and event in the current project.

LINE NUMBERS:
Adds line numbers to each executable statement in the current project.


User Menu
User Menu:

CONFIRM ON EXIT:
Prompts 'Are You Sure?' before exiting VBTrace.

AUTO RELOAD PROJECT:
Causes VBTrace to automatically reload the current project into the Visual Basic environment whenever changes are made to the source code. Otherwise, you will have to reload the project by hand.

MULTIPLE INSTANCES:
Determines if more than one instance of VBTrace can be active.

ENABLE WINDOWS SOUNDS:
Determines if Window's sounds such as Default Beep and Critical Stop should accompany VBTrace error messages.

PROMPT FOR BACKUP:
Check this option to have VBTrace prompt you to backup the project before VBTrace makes changes to the source code.

FUNCTION BAR SETUP:
Select the status and location of the Toolbar, Button Bar, and Status Bar.


Topic1
Setup Menu:

GRID FONT TYPE & SIZE:
The font type must be a fixed pitch type such as Courier New.

GRID TEXT COLOR:
Set the text color for the VBTrade grid.

GRID BACKGROUND COLOR:
Set the background color for the VBTrace grid.


Help Menu
Help Menu:

BALLOON HELP:
When Balloon Help is selected, moving the cursor over any item on the Toolbar or Status Bar will show information on that item.

HELP CONTENTS:
Brings up the contents page of this help file.

SEARCH HELP:
Search the help file keywords.

HOW TO USE HELP:
Information on how to use this help file.

ABOUT VBTRACE 2.0:
Copyright and registration information.


In Case Of A Problem
In Case Of A Problem:

Fortunately, there is very little that can go wrong with VBTrace.  If a problem should arise, deleting VBTRACE.TXT, VBTRACE.INI, and VBTRACE.BAS from the directory of the project being traced, and CURPROJ.INI from the VBTrace directory will cure any problem.

If VBTrace encounters a problem while writing to the trace file, VBTRACE.TXT, it will simply notify you of the problem, delete VBTRACE.TXT and shut off the trace function until the application being traced is exited and restarted.

If VBTrace encounters a problem reading VBTRACE.TXT, it will notify you that a problem exists, but it will continue to read the file and show the VBTrace display.  This may result in the VBTrace display being scrambled, but simply restarting the application being traced will cure the problem.

Of course we want to be advised of any problems which should arise.
Free support is available through:
CIS 76560,51
AOL ChukStuart
cstuart@metronet.com


Special Offer
**SPECIAL LIMITED TIME OFFER**
Register today and receive free Visual Basic code samples to perform the following functions:  No special controls or hardware required.

1 	TOOLTIPS: Install Microsoft style ToolTips into your program with no third party VBXs or API calls.

2 	STATUS BAR:  Complete code to add a Status Bar to your programs showing the Current Directory, Available Memory, Available Disk Space, Time, Date, etc.  VB Pro version required.

3 	VBSORT:  The fastest sorting algorithm we've seen yet for Visual Basic  Sorts even string arrays at 1000+ elements per second.

4 	WINDOWS SOUNDS:  How to add standard Windows sounds to your programs.

5 	ALWAYS ON TOP:  How to keep your program 'on top' of all programs currently on the desktop.

6 	FADE FROM BLUE TO BLACK: How to give a form a color fade from blue to black.

7 	ONE PASS REDRAW:  Keep Windows from redrawing a form until all controls have been added or resized and then refresh the entire form in one pass.

8 	PROGRESS BAR:  How to copy any type of file from anywhere to anywhere else and show a progress bar during the copy.

9 	INI FILES: How to read and write Window's INI files.


Registering VBTrace
Registering VBTrace:

You may examine VBTRACE for 21 days at no cost.
If you decide to keep and use VBTrace, you must register it.

Registered copies are $49.95 plus $4.00 for S&H.  Each registered copy is licensed for use on a single computer only.  A site license for copies of VBTrace to use on additional computers at the same site may be purchased for $9.95 per computer.

***IMPORTANT NOTE:***
VBTrace MUST be registered in the name shown in your Windows About Box. To see the About Box, select Help from the Program Manager menu bar, then select About Program Manager... VBTrace MUST be registered in the same name in which Windows is registered.

Registered copies of VBTrace may be purchased in any of the following ways:

•	Via Compuserve:  GO SWREG.  The VBTrace ID Number is 4398.

•	*** CREDIT CARD ORDERS ONLY - MC, Visa, Amex, or Discover ***
     Public (software) Library
     Voice 800-2424-PsL or 713-524-6394
     FAX to 713-524-6398
     CIS Email to 71355,470
Specify PsL product No. 11804.
The above numbers are for orders only.  Any questions about the status of the shipment of the order, product details, technical support, volume discounts, dealer pricing, site licenses, etc, must be directed to Chuck Stuart at one of the address shown below.

•	Order direct by sending cash, check, or money order to:
     Chuck Stuart
     2204 Camp David
     Mesquite, TX  75149
Allow 10 days for personal checks to clear.

REMEMBER, VBTrace MUST be registered in the same name in which your copy of Windows is registered. This is the name shown in the Windows About Box.

You will receive a registration number via email within 48 hours of registering VBTrace. This registration number will automatically convert your trial copy of VBTrace into a fully registered version. Maintenance updates will be made available free of charge for downloading from the various VB BBSs and forums.

Free support is available through
CIS 76560,51
AOL ChukStuart
cstuart@metronet.com

When you place your order you will be placed on our mailing list to receive notice of new products and updates.  Thank you for using VBTrace.


BackupBackup
Select this option to backup the project to the selected directory.


BackupBrowse
The Browse button allows you to view the disk directories as an aid to selecting or locating a backup directory.


BackupButton
Backup or Restore the project files.


BackupClose
Exits the Backup / Restore operation.


BackupDirectory
Select this option to backup all files in the project directory.


BackupHelp
Access on-line help for the Backup / Restore operation.


BackupPath
The path to the backup directory.


BackupProject
Select this option to backup only the files in the project MAK file.


BackupRestore
Select this option to restore the project files from the backup directory.


ClearTheDisplay
Clears the trace listing. The current project and column configuration remain unchanged.


DefaultColumnConfiguration
This is one of two default column configurations.  Select column configurations by viewing the Headings collection.  Click on each column for more information on that column.


DiskSpace
Shows the current drive ID and the amount of disk space available on that drive.


DisplayTitleBar
The Title Bar shows the name of the currently selected project followed by the date and time the current trace listing was created.


ErrorCodeAdd
Adds error code to the current project.


ErrorCodeButton
Add error code to each procedure in the project not already containing error code.


ErrorCodeClose
Exits the Error Code Manager.


ErrorCodeHelp
Access on-line help for the Error Code Manager.


ErrorCodeLineNumbers
Switches to the Line Number Manager.


ErrorCodeMode
Shows the current operation.


ErrorCodeProjectPath
Shows the name and path of the current project.


ErrorCodeRemove
Removes Error Code from the current project.


ErrorCodeStatus
Shows the progress of the Error Code operation.


ErrorCodeTraceCode
Switches to the Trace Code Manager.


ExceptionAddItem
Adds a new procedure, event, or form to the Exceptions list.


ExceptionAddRemove
Performs the selected operation.


ExceptionButton
Brings up the Procedures Exception Manager.


ExceptionClose
Exit the Procedures Exception Manager.


ExceptionHelp
Access on-line help for the Procedures Exception Manager..


ExceptionProcedureName
Enter the name of the procedure, event, or form to add or remove from the exceptions list. Press the drop down button to see a list of available choices.


ExceptionRemoveItem
Select this option to remove an item from the Exceptions List.


EXITPLUG
Closes all files, unloads all forms, and exits VBTrace


FormsCount
Shows the number of forms loaded as each procedure is entered and exited.


GDIMemory
Shows the percentage of GDI memory available from the original pool of 128K.   Under 20% can affect program stability.  Reduce the amount of GDI memory usage by reducing the number of device contexts, pens, brushes, regions, and bitmaps.


GlobalMemory
Shows the amount of Global Heap memory available.  Global Heap memory is the total memory available to all Windows programs.  It does not include disk or swap file memory.


HeadingsAvailable
Shows the list of available headings for the trace listing.


HeadingsButton
Displays the Headings Collection.


HeadingsCancel
Cancels any changes and exits the Headings Manager.


HeadingsDelete
Removes the selected heading from the Headings Collection.


HeadingsHelp
Access on-line help for the Headings Collection.


HeadingsOK
Changes to the selected heading and exits the Headings Manager.


HorizontalScrollBar
The horizontal scroll bar appears whenever the width of the display exceeds the width of the display area of the screen.


LineCount
Shows the total number of lines in the current trace listing.


LineNumberButton
Brings up the Line Number Manager. The Line Number Manager is used to add line numbers just prior to compiling to facilitate locating errors in a compiled program.


LineNumberColumn
Line numbers are used to trace a procedure forward and backward through the trace listing.


LineNumbersAdd
Adds Line Numbers to each executable statement in the current project.


LineNumbersClose
Exits the Line Number Manager.


LineNumbersErrorCode
Switches to the Error Code Manager.


LineNumbersHelp
Access on-line help for the Line Number Manager.


LineNumbersMode
Shows the current operation.


LineNumbersProjectPath
Shows the name and path of the current project.


LineNumbersRemove
Removes Line Numbers greater than 30,000 from the current project.


LineNumbersStatus
Shows the status of the Line Number operation.


LineNumbersTraceCode
Switches to the Trace Code Manager.


MenuBar
The Menu Bar.


MousedHelp
Displays the following message:
For Information On Items On The Toolbar And Status Bar, Select 'Balloon Help' From The Help Menu, Then Move The Cursor Over The Desired Item. For Help On Other Forms, Press F1 While The Form Is Visible, Then Move The Cursor Over Each Item On The Form To See Information On That Item.


OnLineHelp
Access on-line help.


PreviousLineNumberColumn
The Previous Line column shows the number of the line where a procedure was previously referenced.  It is used to trace a procedure backward through the trace listing.


ProcedureNameColumn
The Procedure Name Column is always the rightmost column in the trace display and is the only required column.  It cannot be moved, changed,  or deleted.


ProcedureSearchButton
Brings up the Procedure Search form.


RemoveItem
Select this option to remove an item from the Exceptions list.


ReportBuild
Select this button to 'build' the cross reference reports. Once the reports have been created, they can be printed in the desired format.


ReportButton
Brings up the Report Manager.


ReportClose
Exits the Report Manager.


ReportDisk
Causes the selected report to be printed a disk file.


ReportHelp
Brings up on-line help for the Report Manager.


ReportIncludeResources
Causes the information from the Status Bar to be included in the Report.


ReportPrint
Prints the selected report to the selected device.


ReportPrinter
Causes the selected report to be printed to the printer.


ReportPrinterSetup
Brings up the Printer Setup dialog box.


ReportProceduresX
Selects the Procedures Cross Reference report to be printed.


ReportScreen
Causes the selected report to be printed to the screen.


ReportScreenSetup
Sets the font, size, and appearance for reports to the screen.


ReportStatus
Shows the report print progress.


ReportTraceReport
Selects the trace listing to be printed either to a printer or to a disk file. The trace listing cannot be printed to the screen.


ReportUnreferencedP
Check this box to have the Procedures Cross Reference report show only unreferenced procedures.


ReportUnreferencedV
Check this box to have the Variables Cross Reference report show only unreferenced variables.


ReportVariablesX
Selects the Variables Cross Reference report to be printed.


ResetColumnConfiguration
Resets the Headings Collection and Watch Variables Collection to the default configuration.


SearchBeginSearch
Begin the procedure search.  After a match is found, press F3 to find the next match.  Any other key will stop the search.


SearchCancelProcedureSearch
Cancels the Procedure Search operation.


SearchMatchCase
Selects only procedures which exactly match the case of the search string.


SearchMatchWholeWord
Finds only procedure names which exactly match the name in the search box, otherwise all procedures which begin with the name in the search box will be displayed.


SearchProcedureName
Enter the name of the procedure for which to search. Press the drop down button to view a list of available procedures.


SearchProcedureSearchHelp
Brings up on-line help for the Procedure Search operation.


SelectProject
Select a Visual Basic project to trace.


TimeColumn
The Time column shows the time in seconds and tenths of seconds required to execute a procedure or group of procedures.  The Time is shown only on procedure exit lines.


TimesEnteredColumn
The Times Entered column shows the number of times a procedure has been entered.  If the Times Entered count exceeds the Times Exited count by more than one, the procedure is being called recursively.


TimesExitedColumn
The Times Exited column shows the number of times a procedure has been exited.  If the Times Entered count exceeds the Times Exited count by more than one, the procedure is being called recursively.


TraceCodeAdd
Adds Trace Code to each procedure in the selected Visible Basic project.  Also adds the code module, VBTRACE.BAS, to the project MAK file..


TraceCodeButton
Brings up the Trace Code Manager.


TraceCodeClose
Exit the Trace Code Manager.


TraceCodeErrorCode
Switches to the Error Code Manager.


TraceCodeExit
Exits the Trace Code Manager.


TraceCodeHelp
Brings up on-line help for the Trace Code Manager.


TraceCodelineNumbers
Switches to the Line Number Manager.


TraceCodeMode
Shows the current operation.


TraceCodeProjectPath
Shows the name and path of the current project.


TraceCodeRemove
Removes all trace code and the code module, VBTRACE.BAS, from the selected Visual Basic project.


TraceCodeStatus
Progress gauge for the Trace Code operation.


GDIMemory
Shows the amount of USER memory available from an original pool of 64K.   Under 20% can affect program stability.  Reduce the amount of USER memory usage by reducing the number of windows, forms, and menus.


VBButton
Minimizes VBTrace and does one of the following:
1. If VB is not loaded, loads VB and then loads the current project.
2. If VB is loaded, loads and starts the current project.
3. If the current project is loaded but not running, starts it.
4. If the current project is loaded and running, switches focus to it.


VerticalScrollBar
The vertical scroll bar appears whenever the number of lines in the trace listing exceed the number of lines which may be displayed on the screen.


WatchVariableAdd
Click to add a new Watch Variable to the Watch Variables Collection.


WatchVariableCenter
Causes the data in this column to be centered in the column.


WatchVariableClose
Exits the Watch Variables Manager.


WatchVariableFormat
The format string for the data to appear in this column. This is the only optional entry.


WatchVariableHeading
The column heading to appear in the trace listing..


WatchVariableHelp
Access on-line help for the Watch Variables Manager.


WatchVariableIndex
If the selected variable to watch is an array variable, enter the index. for that variable. The index must be a numeric literal or else a variable which is global in scope.


WatchVariableLeft
Causes the data in this column to be left justified.


WatchVariableModify
Click to modify an existing watch variable.


WatchVariableName
Select the variable to watch from the list of Global Variables.


WatchVariablePosition
The column in which this watch variable is to appear. Columns are numbered from left to right beginning with column one.


WatchVariableRight
Causes the data in this column to be right justified.


WatchVariablesButton
Brings up the Watch Variables Manager.


WatchVariableStatus
Enter 1 to add this variable to the current trace listing. Enter 0 to remove this variable from the current trace listing. This value may be changed at any time.


WatchVariableWidth
The width of the column in characters.


batch mode

In batch mode, the application being traced is started and run to its normal conclusion   VBTrace is then started to examine the VBTrace listing in its entirety.  The advantage of using batch mode is the application being traced does not have to share Windows resources with VBTrace.


event driven

Most programming languages, including all previous versions of BASIC, produce procedure driven programs.  Procedure driven programs follow a predefined path determined by the programmer at design time. The logic flow in programs written in an event driven language, such as Visual Basic, is determined at run time by user actions such as clicking a mouse or pressing a key.  The programmer has very little control over program flow and the order in which procedure are executed..


exit point

The exit point of a procedure is usually the End Sub or End Function statement at the end of the procedure.  It can also be one or more Exit Sub or Exit Function statement anywhere in the procedure..  VBTrace can also handle in-line Exit statements such as "If SomeCondition then Exit Sub".


float

When VBTrace is minimized, it is assigned the Topmost window position so it will not be covered by any other window.


interactively

In interactive mode, both VBTrace and the application being traced are active at the same time.  The advantage in using interactive mode is receiving immediate feedback from any changes made to your application.  The disadvantage is having to share Windows resources with VBTrace.


nested

The number of procedures open at the time this procedure was called.


on the fly

When columns are added or removed from the VBTrace listing, code lines are actual inserted into the VBTRACE.BAS code module to add or remove the selected items from the listing.  You can examine the VBTRACE.BAS code module in your program to see the results of this programming on the fly.


recursively

'Recursive' means that the procedure was entered but not yet exited when it was called again.  Usually by a procedure which this procedure has called.  This is an accepted programming technique and a valid condition if you expect it to happen.  If not, it usually indicates an error in program logic flow..


VBTRACE.BAS

VBTrace adds the VBTRACE.BAS code module to your project.  During execution of your program, VBTRACE.BAS writes the name of each procedure and the name and value of any variables being tracked to the VBTrace file, VBTRACE.TXT.


VBTRACE.TXT

VBTRACE.TXT is a standard, relative record file containing the trace data created by your program.