As technology changes and new trends emerge, enterprises have to re-think and adapt new paradigms to develop, test, and deliver quality software more frequently. With the right set of tools, application developers are more productive and can deliver new releases with high quality, faster.
IBM® Rational® Developer for System z® is an integrated development environment (IDE) that supports multiplatform, multilanguage, multiruntime application development. The role of an IDE is to keep application developers focused on the critical development tasks. An effective IDE provides core capabilities, ready for immediate use. It is easy to learn, simple to configure, and well structured, so that you can finish your day-to-day tasks efficiently.
This article explains how to use the Integrated Debugger in Rational Developer for System z, to debug applications simply, securely, and cost-effectively.
Rational Developer for System z helps developers be more productive and adapt to new practices in application development. Rational Developer for System z v9.0.1 includes the Integrated Debugger,which is a new debugging technology. It also provides a framework to support interactive code coverage, without requiring additional prerequisite software.
The Integrated Debugger is a GUI-based, multiplatform, multi-language, source-level debugger that makes it possible to debug programs running on z/OS, monitor and modify variables, set breakpoints, and inspect program memory by using the standard Debug perspective in Eclipse.
In the process of writing new code or fixing a bug, a developer:
- Builds code
- Verifies changes
The verification process can consist of two aspects: debugging and getting coverage information to ensure that all the changes and code paths are being tested. The Integrated Debugger supports the debugging of programs that are compiled and running in the following environments:
- IBM® Enterprise COBOL v3.4, 4.x, and v5.1 batch
- IBM® IMS™ batch
- IBM® DB2® batch
- IBM® CICS® Transaction Server v4.1, v4.2, and v5.1 applications
The core architecture of the Integrated Debugger, as shown in Figure 1, is workstation-centric. The engine handles computations such as breakpoints management, expression evaluation, etc. It runs on the workstation, uses the workstation CPU, and communicates through TCP/IP with a component called the agent, which runs on IBM® System z®. The agent has a small footprint and attaches itself to the System z application that is being debugged.
Figure 1.Integrated debugger architecture
Because this architecture uses less memory and fewer z/OS® cycles, it can scale easily. The Integrated Debugger can run on Windows, IBM® AIX®, Linux® running on IBM® Power Systems™, and x86 Linux.
The Rational Developer for System z client makes it possible to initiate the debug session from the workstation. For example, a debug session for a batch COBOL application can start by submitting an existing JCL script or by triggering a debug application action on a load module. The JCL triggers the application on z/OS to run in debug mode with the agent running in the same address space as the application itself. It starts to communicate with the Integrated Debugger engine and the user interface to kick off the debug session. This process involves user authentication and establishing the engine-to-agent communication securely. The user-interface layer reuses the standard Eclipse Debug perspective. Therefore, the user experience and behavior of the Integrated Debugger is the same when debugging a Java application, a COBOL application, or a JavaServer Pages (JSP) application that invokes a CICS COBOL module.
The Integrated Debugger supports the security protocol SSL/TLS for
communication between client and host. In addition, the Integrated
Debugger invokes debugging and code coverage without having to specify the
client IP address as part of the
TEST runtime option.
Figure 2 shows an overview of how the technology works. A new component, the debug connection manager, orchestrates the process of establishing secure connections by using the existing, established security context through the Remote System Explorer (RSE), which Rational Developer for System z uses for client-to-z/OS communication.
Secure connections are established in two steps:
- You authenticate to the host using RSE. After this connection is established, this information is registered with the debug connection manager so that it can associate a user with the client address.
- By using this established relationship, the debug connection manager routes new debug communications to the right client when a debug session is requested, without explicitly needing to specify the IP address and port. The connection manager component handles the authentication of the incoming debug session, and once verified, handles the engine-to-agent communication throughout the debug session.
Figure 2. Debug connection manager flow
This approach simplifies and increases the security of the connection. It changes the direction of the connectivity from the traditional outbound connection to the client, to an inbound connection to the host. The debug connection manager is a host component. It is included with the Rational Developer for System z host component and is installed using the standard SMP/E install mechanism. The debug connection manager is included in the Rational Developer for System z v188.8.131.52 fix pack, which is now available for an upgrade or an initial install.
The Integrated Debugger in Rational Developer for System z provides simple, integrated, built-in support for critical application development activities in a secure way. With the Integrated Debugger, an application developer can debug code and assess code coverage to ensure that all the changes and code paths are being tested. With Rational Developer for System z you can perform intelligent editing, code analysis, unit testing, and now, with the Integrated Debugger, faster debugging. The Integrated Debugger helps your team work toward continuous integration, continuous testing, and continuous delivery of z/OS applications. You can deliver higher-quality software, faster and more frequently.
- Find out more about Rational Developer for
System z features and benefits:
- Visit the product page and the developerWorks page, which is a great starting place to find articles and other technical information.
- Read through the Information Center, and explore the Rational Developer for System z plug-in for the IBM Education assistant, which includes multimedia modules to watch.
- Watch this tech talk, which demonstrates the Integrated Debugger.
- Explore the Rational software area on developerWorks for technical resources, best practices, and information about Rational collaborative and integrated solutions for software and systems delivery.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Improve your skills. Check the Rational training and certification catalog, which includes many types of courses on a wide range of topics. You can take some of them anywhere, anytime, and many of the Getting Started ones are free.
Get products and technologies
- Download a free trial of Rational Developer for System z.
- Evaluate IBM software in the way that suits you best: Download it for a trial, try it online or use it in a cloud environment.
- Ask and answer technical questions and exchange information with your peers in the Rational Developer for System z forum and the community hub at the IBM Rational COBOL Café.
- Get connected with your peers and keep up on the latest information in the Rational community.
- Rate or review Rational software. It's quick and easy.
- Share your knowledge and help others who use Rational software by writing a developerWorks article. Find out what makes a good developerWorks article and how to proceed.
- Follow Rational software on Facebook, Twitter (@ibmrational), and YouTube, and add your comments and requests.
- Ask and answer questions and increase your expertise when you get involved in the Rational forums, cafés, and wikis.