Debugging Software Failures with IPCS

The interactive problem control system (IPCS) is a tool provided in the Multiple Virtual Storage (MVS) system that aids in diagnosing software failures. MVS provides dumps, which are a snapshot of the system at the time of error. You’ll get a ton of relevant information that will help you debug the problem, from messages to logs, and traces to dumps. But you’ll need to know how to use this information to find and solve the problem.

IPCS provides formatting and analysis support for dumps and traces produced by MVS, other program products, and applications that run on MVS. Dumps produced by MVS fall into two categories: formatted and unformatted. IPCS cannot be used with formatted dumps, but it is very helpful with unformatted dumps, like the commonly used SVC DUMP, SYSMDUMP, and StandAlone DUMP.

In a recent SHARE presentation, Hemanth Rama, Senior Product Developer at BMC Software, explained how IPCS takes the unformatted dumps and traces, and translates them into words for you.

For example, IPCS can identify jobs with error return codes, control block overlays, IPL information, and much more. IPCS outputs a formatted report that you can use to debug the problem. Learning how to use those reports is very important, but there’s no one-size-fits-all approach.

“Debugging is an art, not a science,” Rama explained. “Everyone develops their own style of debugging over time.”

Here are some of the basics you’ll need to know to develop that style.

IPCS Modes

There are three ways to work with IPCS. The first is line mode, which Rama acknowledges is not often used. IPCS is a TSO/E command processor. When you enter the IPCS command at the TSO READY prompt, you begin an IPCS line mode session.

Dialog mode is much more commonly used. IPCS provides a full-screen dialog through the Interactive System Productivity Facility (ISPF). This mode, known as the IPCS dialog, runs on top of ISPF and the IPCS command processor.

The third option is batch mode, which allows you to submit batch jobs that access IPCS to perform dump analysis against a specific dump. Once you start working with IPCS, Rama explained, you’ll likely develop a style, gravitating either toward dialog mode or batch mode.

IPCS Commands

There are a couple of basic IPCS commands that every IPCS user should know.

As soon as you start working with a dump, the very first thing you’ll want to do is determine the dump type. IP ST SYSTEM tells you the type of dump, like an SVC dump. IP LIST TITLE would then tell you what type of SVC dump you’re dealing with – from stand-alone to SLIP dump to console SVC dump. If you know you’re working with a SLIP dump, for example, then you’ll want to know what kind of trap has been set. IP LIST SLIPTRAP would give you the SLIP trap details. This command is important – once you find out what trap has been set, you’ll be able to determine what happened from that point on.

Once you’ve determined the dump type, you’ll move on to a set of subcommands that collect more information from the dumps, and help narrow down details about the problem. Those subcommands include:

  • IP ST WORKSHEET – provides the dump title, date and time it was taken
  • IP IPLDATA – gives information about the IPL process and options
  • IP CBF CVT – provides system release level where dump was taken
  • IP SELECT ALL – lists the active addresses at the time of the error
  • IP CBF RTCT – lists ASIDs dumped
  • IP ST REGS – indicates what the registers were at the time of the dump

For any budding IPCS users out there, here are some helpful words of wisdom from Rama: “Practice, practice, practice. Practice makes debugging perfect. The more you practice, the more comfortable you’ll be – and the better you’ll get.”

To learn more about debugging with IPCS, or to view an IPCS demo, watch the full video from Hemanth Rama’s “Debugging with IPCS” presentation in the SHARE Content Center.

Be sure to check out related sessions at SHARE Sacramento this year, too. Registration is still open, and discounts are available through January 26.

Recent Stories
SHARE Sacramento: Previewing Millennials and Mainframe with Bill Seubert

IBM Systems Magazine: February Editor's Picks for SHARE

SHARE Sacramento: Modern COBOL Development with Scot Nielsen and Michael Bleistein