by John Mina - GUI Computing

The most common concern to which all developers share is their application's performance.

There is, however, a tool which can increase the efficiency of your application, and it is called VB/FailSafe by Marquis Computing. This debugging and performance tool consists of three main components: the Profiler, Tracer, and AutoProcessor.

VB/FailSafe Profiler uses data recorded from the Tracer component, to provide accurate performance timing analysis of your programs routines and functions. The Profiler organises information with tables and graphs and proves to be effective means to identify performance bottlenecks for optimization. VB/FailSafe Profiler includes usage reports and can filter displays by application, module or routine. Selecting certain Events to test is also possible. The Profiler displays:

Also possible is sorting on total time used, actual time used, average time per call, number of times called, resources or memory. Graphs can be viewed as 2 and 3 dimensional bars, or pie charts of tabular data.

A very worthy component, the AutoProcessor is an automated program for inserting and removing calls to the VB/FailSafe error trapping and code tracing library. The AutoProcessor adds and removes the VB/FailSafe .BAS and .FRM files to your project for you, inserting breakpoints at runtime for your compiled executable file. This in effect traps any runtime errors and allows program to keep running.

VB/FailSafe is packaged with a number of handy utilities which prove to be quite useful. The Windows Monitor audits DLLs and VBXs as they are being used, and displays the full path of the DLL or VBX file in sequence as they are being loaded by the application. I found this utility to be quite useful to detect wrong paths of files, or incorrect version numbers, when projects would not load or applications were crashing on execution. Windows Monitor displays the file name and size, version, file date/time, sequence number and incident time.

Why re-invent the wheel! The Code Librarian is a clipboard utility which allows you to open a directory for all .BAS or .FRM modules and list their routines. By selecting a routine you can copy the contents to the clipboard and then paste into your VB app. Without loading a second instance of VB you can gain access to other projects modules.

For those developers using Windows API calls, VB/FailSafe is equipped with a utility which tests your application for API errors. The API Monitor shows you Windows API parameter-validation errors - e.g. invalid HDC reference or bad handle to a bitmap. I did experience problems with this utility using VB4 32-bit under Win95; most likely the changes in Windows API from WFWG to Win95.

Through the execution of an application, the Resource Watcher can be used to display system memory and resources, in real time. You can leave the watcher running and then run your application to see if you have any memory or resource leaks. And the System Spy utility shows you windows data about the window with focus. It displays class information, handles and other internal Windows structure data. This may be useful to look for class conflicts or determine the hWnd of a window.

VB/FailSafe product is packaged with 16 and 32 bit applications. You can trace multiple 16-bit apps or multiple 32-bit apps at once, though using a 486DX2/66 proved to be quite a workload. At installation, you have the option to install VB/FailSafe 16-bit for VB3/VB4, or VB/FailSafe 32-bit for VB4 under Win95 or NT. The product is priced at $269.

Written by: John Mina
Feb 1996