METAMON Live is a background mainframe debugging tool that operates in the COBOL and Assembler programming environments and works with MVS/XA (MVS/SP V2 or higher), MVS/ESA, OS/390, and z/OS.


METAMON Live is an event-driven, background mainframe debugging tool that operates in the COBOL and Assembler programming environments. Unlike “interactive” mainframe debugging tools that require users to single step through thousands of instructions to find problems, Metamon can scan portions of a program or entire systems, including multiple passes through the same code and trace through branched logic - then report when predefined events occur, such as the corruption of a variable or when a certain value appears in a field. This information is presented to the programmer showing the results of the test. The user has complete control over what events to trigger on and how much information to capture. Because of this unique architecture, Metamon does not require the user to stop programs, edit data or change logic paths; hence it has none of the associated security and risk issues of an interactive debugger. METAMON Live runs only in background, transparent to other programs, and logs what a program does based on commands given to it through execution JCL. When the executed JCL completes, output from METAMON Live is available for review. There is a comprehensive range of diagnostic functions, with many purpose-built functions designed to assist a programmer to quickly resolve a program failure, and to trap and record intermittent bugs. Metamon works with MVS/XA (MVS/SP V2 or higher), MVS/ESA, OS/390, and z/OS.

Basic functions include the following.

  • Capture a full execution trace of a program. FT (FULL TRACE) directive.
  • Show variable values for any statement, before and after the statement executes. BP (BREAKPOINT) directive and BPL (BREAKPOINT LIST) directive.
  • Watch specified variables or memory locations, and show where their values change. WATCH directive.
  • Monitor your program to find “dead” code, or to verify that testing has executed changed code. MONITOR directive.
  • Capture information selectively, based on conditions you set. SELECT, RANGE, END SELECT Options.
  • Display any unprotected working storage. DISPLAY Option.
  • Trace the processing flow of your program, statement by statement. TRACE option

Mainframe debugging tools in production

It is important when administering a mission-critical mainframe to limit the amount of risk to the production environment. This includes the risk of a production job failure or the risk of fraud through program code or manipulation of data. There are many aspects to protecting the production environment, and one of concern is whether to allow debugging tools on the production mainframe. Most popular debuggers are all interactive and they require users to stop programs, to edit data and to change logic paths, which are all potential openings for fraud or tampering that could cause job failure. These tools must be kept off the production mainframe. So how do you fix problems that can’t be replicated on a development mainframe, or where time is so critical there is not time to replicate on a development mainframe? The Metamon Live suite of mainframe debugging tools is the answer.

See A DEMO Of The Metamon Live Debugging Tool

Metamon Live Debugging Tool


Home | Mainframe Debugging Tool | Testing COBOL & Assembler | Mainframe Testing | Software Demos
Competitive Analysis | Software Case Studies | About Metamon | Links | FAQs | Contact Metamon
| Site Map



Metamon Live can be run with any batch job to debug a COBOL or Assembler program. This means in-stream JCL, Procedures, DB2 batch jobs, DB2 stored procedures, IMS BMPs, any batch job. All that is required to use ML is that you edit your batch job so that ML runs as the main program. You then add directives (commands to ML) to tell it what debugging to do. The included demo gives a simple illustration for the in-stream JCL edit.