Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>XDCNew to Visual Studio Code? Get it now.
XDC

XDC

Preview

ColeSoft

|
4 installs
| (1) | Free
VS Code extension for Z/XDC
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

XDC for VS Code

Debug z/OS programs from the comfort of Visual Studio Code. XDC brings Cole Software's Z/XDC to VS Code, letting you attach to live debug sessions on the mainframe and step through HLASM applications with a modern, source-aware UI.

XDC for VS Code — modern mainframe debugging inside your editor

With XDC you can:

  • Attach to a live cdf/XDC debug session on z/OS from the VS Code debugger.
  • Set breakpoints and step through HLASM programs using the standard VS Code debugging experience.
  • Resolve running code back to real source through ADATA and SYMDATA, with syntax highlighting for assembler, symbol and disassembly.
  • Inspect general, control, access, floating-point and vector register sets, plus the PSW, save areas, and subpool storage.
  • Display storage in a formatted hex/EBCDIC viewer.

⚠️ Preview. This extension is under active development. Features and behavior may change between releases.

XDC debugging a z/OS program in VS Code

Features

Connect to Z/XDC servers

Manage one or more Z/XDC GUI Server connection profiles and browse their active debug sessions from a dedicated XDC view in the Activity Bar. Profiles store your host, port, and username and passwords locally and are handled securely and never synced.

XDC Sessions tree and Add XDC Server form

Attach to live debug sessions

Attach to an existing CDF/XDC session on z/OS directly from VS Code. Pick a session from the tree, or launch from a launch.json configuration. Set breakpoints, step through code, and inspect the call stack using the standard VS Code debugging experience.

Attached debug session with call stack and disassembly

Source-aware debugging for HLASM

XDC resolves your running program back to source using your ADATA or SYMDATA maps, providing statement labels and source images with robust syntax highlighting.

Syntax-highlighted ADATA assembler source — click to enlarge

Registers, TCBs, and the PSW

Inspect general, control, access, floating-point, and vector register sets while stopped. Registers are recognized on-hover using configurable equate aliases (for example R1, GR1, WR1), and the FRAME Details view breaks down your RSA chain, as well as the Request Block chain of the current TCB.

Registers and FRAME Details with PSW in the status bar

Memory and storage tools

  • View EBCDIC Data — open a formatted hex/EBCDIC viewer for any storage location or variable.
  • Show Full Addresses / Offsets — toggle between absolute addresses and offsets when viewing memory.
  • Show Mapped Source / Unmapped Object Code — switch between mapped source and raw object code.
  • Map helper — quickly load maps for any CSECT.
  • LIST SUBPOOL — visualize subpool storage.
EBCDIC memory hex viewer

One-click TRACE controls

Common Z/XDC trace operations are available as toolbar buttons and keyboard shortcuts while stopped:

Action Command Shortcut
Step or Trace ST/T F10
Trace Branch T B Ctrl+F10
Trace Branch Yes T BY Ctrl+Shift+F10
Trace Branch No-Call T BNC Ctrl+Alt+F10
TRACE toolbar buttons in the debug toolbar

MAP helper and MAPLIBS

Build module/CSECT maps with guided helper forms. Point XDC at your ADATA datasets (PDS, PDSE, or sequential) via the xdc.maplibs setting or the Add MAPLIB to Active Session command so source can be resolved automatically on attach.


Requirements

  • Visual Studio Code 1.110.0 or newer.
  • Network access to a running Z/XDC GUI Server on your z/OS system.

Getting started

  1. Open the XDC view from the Activity Bar.
  2. Click Add XDC GUI server and enter your host, port, and username.
  3. Expand the profile to see its active debug sessions and Connect to one, or press F5 with an XDC attach configuration in your launch.json.

A minimal launch.json configuration looks like this:

{
  "type": "xdc",
  "request": "attach",
  "name": "Attach to cdf/XDC Session",
  "sessionName": "my-session",
  "profileName": "my-profile"
}

Troubleshooting

If you run into issues while debugging, enable verbose logging on your attach configuration:

{
  "type": "xdc",
  "request": "attach",
  "name": "Attach with verbose logging",
  "sessionName": "my-session",
  "profileName": "my-profile",
  "logTrace": true,
  "logVerbose": true
}

You can also open the log files directly from the Command Palette:

  • XDC: Show Extension Log File
  • XDC: Show Debug Adapter Log File

Known issues

  • This is a preview release; expect rough edges and incomplete features.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft