About z/XDC - Reviews - Cybermation, Inc.:
Cybermation is a leading provider of enterprise job scheduling (EJS) and software change management (SCM) solutions. The mainframe portion of these software solutions is written exclusively in OS/390 Assembler. It incorporates complex multi-tasking subsystems that execute as APF-authorized started tasks and interact closely with the IBM operating systems OS/390 and z/OS.
Problems in software of this nature frequently involve complex interactions between concurrently executing processing threads, often influenced by particular timing constraints. Diagnosis requires the use of a debugger which allows full access to, and manipulation of, the current state of the software being debugged. In use at Cybermation since 1993, z/XDC (and its predecessors) is such a debugger.
Our contacts with Cole Software have been consistently positive. Response to problems and questions has always been prompt, cheerful and helpful. The product itself provides complex systems level programming, and unique features which gives control over the entire debugging process. When particularly complex questions arise, Dave Cole is available in person to clarify the issue and provide helpful advice.
In our environment, one of the most useful features of z/XDC is its ability to set a hook in an already executing task. It subsequently gains debugging control of that task by causing its flow of control to encounter the hook. Even without using the Hook facility, z/XDC's ability to view the address spaces is itself extremely useful. This is particularly helpful if an executing task begins to display unexpected behavior. Starting a z/XDC session and pointing it to the problem task's address space -- via the SET ASID feature, which is known as "Foreign Address Space Mode" - allows you to inspect the task's control blocks and determine its current state. This alone may provide sufficient clues to determine the cause of the aberrant behavior.
Another useful facility of z/XDC comes into play when problems arise in a client/server environment. It can run both sides of a conversation, client and server. You can set appropriate breakpoints in each of the z/XDC sessions, which allows you to switch back and forth between sessions and monitor the complete progress of a conversation on both sides.
Cybermation's flagship EJS product, ESP Workload Manager, has used Access-Register virtual addressing for a number of years to enable client code executing in a TSO session to access data in its started task's address space directly. This has resulted in a significant reduction in communications overhead between the server subsystem and its clients. More recently, the use of data spaces has become an increasingly important feature of this product. Without z/XDC's comprehensive support for virtual addressing of all kinds, debugging problems in this type of multiple address/data space environment would not be feasible.
Areas of code that have existed for a long time rarely, if ever, require modification. These areas of code essentially become"black box" modules for new developers and support personnel. To determine how such areas of code work, new employees can trace through them under z/XDC. It is an excellent learning tool for this purpose.
You can also use z/XDC to simulate conditions that potentially cause the existing code to fail -- modifying input data, flags, registers, etc., as necessary -- then trace through the corrected code to verify that it takes the desired path and produces the anticipated results This helps to ensure the effectiveness of fixes.
When debugging a problem, a similar technique is useful. Once it is obvious what the cause is (and a remedy determined), it is easy to simulate the fix while still in z/XDC. This is accomplished by correspondingly modifying memory and/or register contents, and then continuing execution to verify that the results are as expected. This provides confirmation that a prospective fix is valid. It also, can eliminate considerable time and effort coding and testing putative fixes.
In short, z/XDC provides efficient and comprehensive debugging features which are an important part of Cybermation's development and support processes.
|