Debugging Tool minimizes coding errors.

Press Release Summary:



Interactive, source-level z/VM® v4.1 Debug Tool increases efficiency and aids in reducing application-development cycle times in compiled applications. Program testing and analysis aid examines, monitors, and controls execution of application programs written in C, C++, COBOL, or PL/I on a z/VM system. Tool also supports programs compiled with NOTEST compiler option and applications that include other languages such as Assembler.



Original Press Release:


IBM Debug Tool for z/VM V4.1 Helps to Minimize Coding Errors and Increase Debugging Efficiency


Overview

Application programmers need to minimize coding errors while working quickly to meet end-user demands.

To effectively manage workloads and build applications, developers need robust, easy-to-use tools to compile,
test, and debug their applications.

IBM Debug Tool for z/VM® V4.1 is an interactive source-level
debugging tool for compiled applications. It helps you increase
debugging efficiencies and aids in reducing application-development cycle times. This program testing and analysis aid helps you examine, monitor, and control the execution
of application programs written in C, C++, COBOL, or PL/I on a z/VM system. By using the disassembly view, Debug Tool can also support programs compiled with the NOTEST compiler option and applications that include other languages such as
Assembler.

Key prerequisites

One of the following:

· IBM z/VM V5.1 (5741-A05), or later

· IBM z/VM V4.4 (5739-A03), or later

Depending on the function used, certain levels of other programs may be required. For details, refer to the Software requirements section.

Planned availability date

September 24, 2004

At a glance

IBM Debug Tool for z/VM V4.1 helps examine, monitor, and
control the execution of application programs by enabling you to:

· Interactively debug an application as it runs

· Perform seamless debugging of mixed-language applications

· Make adjustments to your application while debugging

· Display, monitor, and alter program variables

Debug Tool also supports many programming languages and
numerous execution environments.

For ordering, contact:

Your IBM representative, an IBM Business Partner, or the Americas Call Centers at 800-IBM-CALL Reference: LE001

This announcement is provided for your information only. For additional information, contact your IBM representative,
call 800-IBM-4YOU, or visit the IBM home page at: www.ibm.com.

Description

Interactive full-screen debugging: The full-screen
interface lets you interactively debug any application as
it runs. You can start Debug Tool when an application is
initialized, or it can be started dynamically when a
condition occurs. The application itself can also start
Debug Tool.

The full-screen interface is divided into three windows:

· Monitor window Displays status of items you choose to monitor, such as variables, registers, programs, the execution
environment, and Debug Tool settings. You can use this window to watch the content of variables change during program execution.

· Source window Displays the program source or disassembly view, with the current statement highlighted. In the prefix area
at the left of this window, you can enter commands to set, display, and remove breakpoints.

· Log window Records and displays your interactions with Debug
Tool and, optionally, shows program output. This window displays the same information recorded in the log file.

The available PF keys are displayed at the bottom of the
screen. These provide a basic set of screen manipulation
and debugging commands. You can customize the screen display and these keys to suit your testing and development needs.

Separate file support and dynamic debug support: Debug
Tool supports COBOL production load modules compiled
with the SEPARATE sub-option of TEST, such as TEST(NONE,SYM,SEPARATE). This sub-option causes the compiler to create the debug information in a separate file. In addition, the need to have compiled-in hooks for Debug Tool to control the application has been removed with the addition of the Dynamic Debug Support.

The SEPARATE suboption permits debugging of a load module
that does not have debug information embedded in the
load module. The combination of this new compile option
and Dynamic Debug support is aimed to allow you to
generate load modules which are smaller in size and do
not have compiled-in hooks, while retaining the ability to
use all of the features of Debug Tool without
compromising the performance of the application when
deployed in a production environment.

Source-level debugging: You can monitor source code for
C/C++ or a compiler listing for COBOL and PL/I.
Compiler listings are an expanded source listing that, in
addition to program source, contains copy book source for
COBOL or includes file source for PL/I.

Mixed-language applications debugging: Debug Tool
supports seamless debugging of mixed-language
applications within the same session, and recognizes
when the current programming language changes.
Language modules not supported by Debug Tool are
tolerated; debugging support is provided only through the
disassembly view.

Dynamic patching: For each supported programming
language, there is a set of interpreted commands that you
can use to specify actions to be taken. These commands
are subsets of the programming languages, so they are
easy to learn, and allow you to make adjustments to your
application while you debug it.

You can use the commands to alter the value of variables
and structures, and to control the flow of an application.
For example, a programmer can declare a new variable
and use the variable to patch a program as it executes.

Dynamic breakpoint setting: You can set breakpoints in
an application program, monitor variables for changes,
and watch for specified exceptions and conditions during
program execution. For example, you can cause an
application to stop when a specific variable or location in
storage is changed. You can set, change, and remove
breakpoints as you go through the application. You do
not need to know where you want to set a breakpoint
before you start.

Single-step debugging: To focus on a problem area, you
can step line by line through the execution of an
application. For example, when an application stops for
a breakpoint, you can carefully examine each line that
follows. Single-step debugging, along with the ability to
set dynamic breakpoints, allows you to monitor, interrupt,
and continue through the flow of the program to identify
errors.

Program information gathering: Debug Tool can display
program and environment information. You can display,
monitor, and alter program variables or storage in real
time. You can also check how your application was
compiled, and look at its structure.

Session logging: Each debug session can be recorded in
a log file for reviewing, editing, or replaying. This allows
you to replay the actions taken in a session to pinpoint
errors in an application.

General testing: You can also use Debug Tool as a test
tool. By using the session logging feature as you debug
code, you can save the results of your session for use as
input to a future Debug Tool session. As you make
changes to your code, you can use the saved log file as
input to Debug Tool in order to verify that no unexpected
behavior occurs as a result of these changes. Session
logging allows you to create suites of regression test
cases that you can use to help minimize the number of
defects introduced during the normal application
development process.

Switch between hexadecimal and decimal display: The
following enhancements have been added:

· A command, which can be assigned to a PF key, that enables you to switch the display of data between decimal and hexadecimal.

· Parameters added to the MONITOR command turn hexadecimal representation on or off for data being displayed in the Monitor window.

· Default behavior is changed so data that cannot be displayed in the variable¢s defined data type is displayed in hexadecimal.

Enhanced LIST cursor command: The RETRIEVE command has been enhanced so that when a LIST CURSOR command is performed on a variable, the retrieval action includes retrieval of the variable and the LIST keyword.

FIND command no longer requires use of quotes: The Debug Tool¢s FIND command has been changed so that it no longer requires quotes around the search string.

All Topics