HOW TO: Improve AB Suite Debugger Startup Time

Improving AB Suite Debugger Startup Time
HOW TO: Improve AB Suite Debugger Startup
Time
Article ID
Last Reviewed
2911112000
December 2011
Submitter
Gary Taylor and Paul Bourke
References
None
Keywords
Developer, Debugger
Applies to
DEV – 1.2 & 2.0
SUMMARY:
Below are the instructions for improving AB Suite Debugger startup times.
Steps to improve Debugger startup time:
Starting debugger:
Before the AB Suite Debugger starts, it must build wrappers for the Segment level
Classes or Report Classes that are to be debugged or are located in the deployable
folders. These wrappers are small routines that intercept the calls between the
presentation layer and the AB Suite Debugger environment. For an object, creation
of these wrappers does not take long, but for large systems, this can be an extended
period.
However, there are some simple steps that can be taken to reduce the number of
wrappers built and/or even stop the recreation of pre-existing wrappers.
Restricting the numbers of wrappers built:
Like the build process for a runtime system, the solution configuration options at the
deployment folder level and sub-folders dictate what is built when you start
debugger. So, on starting the debugger, it builds wrappers for the system (assuming
you are debugging the system) and any Reports that are in deployable folders or all
Reports, if the Deployment Folder configuration option Deploy Reports is set to true.
Copyright © 2011 Unisys Corporation. All Rights Reserved.
Improving AB Suite Debugger Startup Time
So, the first tip is to ensure that only the Reports that you are currently working with,
have wrappers built for them.

Set the Deployment level Configuration properties for Deploy Reports to
False.

Where Reports are to be used in testing ensure they are placed in a
separate folder so as to limit the wrappers that are built.

For all folders where you do not want Report wrappers built then, ensure
that the configuration properties are either marked as Deployable False
or Deploy Reports False.
From AB Suite IC 2.0.1500 onwards, the single Report build feature is added in
Debugger. This means that the Report wrapper builds can be limited even further.
The configuration of the folders remains the same as described above, but the
individual Reports can be built rather than building the entire Reports Folder. To do
this, right-click the Report you want to debug in the Class View and select Build from
the context menu.
Stop re-creation of pre-existing wrappers
The Debugger wrappers do not need to be created every time the Debugger is
started. They are created only when a major change has occurred. From IC 2.0.1700
onwards, the changes made to the Model are analyzed so that the wrapper is built
only if a change is made to an element that is used in building the wrapper. Prior to
IC 2.0.1700 the default action is to create the wrappers every time debugger is
started.
Changing this default behaviour is straight forward but the wrappers must be
manually built as and when required.
Following is a list of the main reasons why a new Debugger wrapper is required.
Note: This covers the major reason, but there may be others reasons also. So, if
you do encounter errors during Debugger startup, try a manual re-build first.

Solution configurations store details about how a particular system
should be deployed, or debugged. If a different Solution configuration
was used previously for Debugging (for a user/Developer), then new
wrappers will be required.

If use of a local SQL Server Debugger database and persistent
database changes are required i.e. a Reorg, then you will need to rebuild the wrappers. If you do not require the changes to be persistent
i.e. logical Reorg, then existing wrappers can be used.

Adding New Report classes or accessing Report classes that do not
have previously created wrappers available. However, in this case,
only the wrapper for the affected reports is required.

Changing or adding Public Segment Methods require new wrappers.

For Windows Runtime only – not applicable to MCP Runtime,
Changes to IsExternal Classes requires new wrappers.

Installation of new IC always requires that new wrappers are built.
Adding new Ispec Classes or Methods does not require the creation of new wrappers.
While there are several reasons for needing new wrappers being built, very few will
Copyright © 2011 Unisys Corporation. All Rights Reserved.
Improving AB Suite Debugger Startup Time
be common in day to day development requirements. So, in most situations, the
requirement to rebuild the debugger wrappers can be avoided.
Procedure to stop automatic build of Debugger wrappers
The procedure to change the default behaviour and stop the debugger wrappers from
being built automatically is as follows:
1. Open up the configuration Manager window (through Solution
Configuration drop-down just under the Visual Studio menu bar).
2. Select the Configuration you are using for debugging and uncheck the
Build check box. The following example shows a configuration called
Debug where this has been done:
Note: The use of separate configurations for Debugger is discussed later.
You can now build the Debugger wrappers when required. Ensure that Debug mode
is set at the Model/Project Solution Configuration level before starting a Build. A
build of the Debugger wrappers is performed in the similar way as for a normal
system build:

A build of the Deployment folder will build the system wrappers.

Reports are built if the “Deploy reports” Build Target Filter is true at
the Deployment Folder Solution Configuration level.

To reduce the time to build report wrappers, place only the reports
that are currently being worked on, or are required for testing in a
separate folder and then build the folder as required (ensure folder
Copyright © 2011 Unisys Corporation. All Rights Reserved.
Improving AB Suite Debugger Startup Time
marked as deployable). This also allows you to explicitly build reports,
as required.
Separate Debugger Configuration
To enable the AB Suite Debugger, you need to set the Debug options at the Model
Solution Configuration Level. So, the simplest option is to just modify the current
configuration, and enable or disable debugging as required. For developers working
on a standalone workstation and who do not have Windows Runtime on their
workstation (i.e. targeting MCP), this may be acceptable.
If you want to have both Windows Runtime and Debugger running against the same
system on the same workstation, then there are additional considerations that need
to be taken into account. The same is true if you are running AB Suite Development
on a shared server, for example through Remote Desktop/Terminal Services or
CITRIX.
In both these situations, not only you need to change the Solution Configuration
Debugger options, but you also need to specify unique values for several other
configuration settings prior to starting debugger.
For example:
 COM Prog Id - at the Segment Configuration level
 Alternate Name - at the Segment Configuration level
So, rather than having to set the Configuration options in several places every time
you want to start a debugger session, it may be more convenient to create separate
configurations for Debugger or each Developer who will run debugger. This has the
added advantage of allowing you to disable the build for the Debug Configurations,
as described earlier.
Caution! If you utilise multiple configurations, be careful that the debugger
and deployment configurations do not become out of step and cause you
problems. For example GLB.Work, GLB.Param sizes and the Fireup Ispec are
all properties of a configuration. For this reason, it is recommended that you
refresh your Debug configuration periodically if you experience problems. The
simplest way to do this is to delete and then recreate the Debug configuration
using the procedure below.
Duplicating a configuration
New Solution configuration properties can be cloned from existing Solution
configuration properties through Configuration Manager.
1. Open the Configuration Manager window (through the Solution
Configuration drop-down list available just under the Visual Studio menu
bar).
2. In the Configuration Manager dialog box, expand the Solution
Configuration list and select <New...> as shown:
Copyright © 2011 Unisys Corporation. All Rights Reserved.
Improving AB Suite Debugger Startup Time
3. This will present you with the New Solution Configuration dialog box. In
the Name field, specify the name of your new configuration and then use
the Copy setting from combo box to select the solution configuration you
wish to copy. Leave the Create new project configurations option checked,
as this is required to enable you to access the newly created
configuration.
Note: It is recommended that for Solution Configuration that are going to
be used for debugging, you use a name that identifies them as debugging
configurations. Additionally, for use in terminal Server configurations, it is
suggested that a developer name or some other unique identifier is used
as well, for example: Debug_Gary, Debug_Andy etc.
4. Once the configuration is created, you need to set the appropriate
configuration options. For example; to enable debugging, specify the
Debug database name and registration name etc.
To switch to the newly created configuration, just select it in the solutions
configuration drop-down combo box.
Copyright © 2011 Unisys Corporation. All Rights Reserved.