Debug RPGLE and COBOL with VS Code for IBM i

Updated July 14, 2025

Our Twitter feeds recently rang out with this long-awaited news from Liam Allan:

“Debugging ILE COBOL and RPGLE inside @code like it’s any other day! I’m pumped for this release #ibmi.”

As reported by Alex Woodie in IBM i Debugger Comes to VS Code, IBM decoupled their RPG/COBOL debugger from RDi after years of encouragement from Liam. It’s now available as a Debug Service to the thousands of IBM i developers who have downloaded Visual Studio Code for IBM i.

In the following video, Liam demos how to use Code for IBM i’s Walkthrough utility to set up and start the Debug Service. He then goes on to write a quick program, set breakpoints, explain the debugging controls, and run a debug session—all in less than 5 minutes!

JULY 2025 UPDATE: Although this video was recorded in 2023, the UX for the IBM i Debugger remains the same.

Check out the official documentation for ILE Debugging here.

For the most efficient way to get your entire team up and running with VS Code for IBM i, talk to us about training.

 

16 replies
  1. Paras Baid
    Paras Baid says:

    I have done all basic steps:
    1. Install Debug extension
    2. Ensure all PTF’s installed
    3. Generate Debug certificates
    4. Start up the service.

    I have installed code for IBMi, Debug for IBMi, all set ups are done. It starts debugging as well but few buttons on debug toolbar are inactive. Only refresh and stop button active. Has anyone faced this before if yes, what is the fix for this. I am running this on Mac.

    Reply
    • Amy Lantz
      Amy Lantz says:

      Hi Paras, the fastest way to resolve your issue would be to follow these steps, or else plan to attend the online Code for i Fridays session on April 4: https://www.seidengroup.com/vs-code-for-i-fridays/

      1. Try updating the Code for i extension. Instructions are at https://www.seidengroup.com/2023/07/05/how-to-update-the-code-for-i-extension/.

      2. If that doesn’t resolve your issue, please report the details to the maintainers using the instructions here: https://www.seidengroup.com/2023/07/10/how-to-report-an-issue-with-vs-code-for-ibm-i/.

      Fixes tend to happen quite quickly!

      Reply
      • Paras Baid
        Paras Baid says:

        Liam asked to post debug trace in Friday meeting, here it is: From client: initialize({“clientID”:”vscode”,”clientName”:”Visual Studio Code”,”adapterID”:”IBMiDebug”,”pathFormat”:”path”,”linesStartAt1″:true,”columnsStartAt1″:true,”supportsVariableType”:true,”supportsVariablePaging”:true,”supportsRunInTerminalRequest”:true,”locale”:”en”,”supportsProgressReporting”:true,”supportsInvalidatedEvent”:true,”supportsMemoryReferences”:true,”supportsArgsCanBeInterpretedByShell”:true,”supportsMemoryEvent”:true,”supportsStartDebuggingRequest”:true,”supportsANSIStyling”:true})
        To client: {“seq”:0,”type”:”response”,”request_seq”:1,”command”:”initialize”,”success”:true,”body”:{“supportsEvaluateForHovers”:true,”supportsSetVariable”:true,”supportsValueFormattingOptions”:true,”supportsModulesRequest”:true,”supportTerminateDebuggee”:true,”supportsFunctionBreakpoints”:true,”supportsConfigurationDoneRequest”:true}}
        From client: launch({“type”:”IBMiDebug”,”request”:”launch”,”name”:”IBM i batch debug: program DVPPBAID/ADJDTL”,”user”:”xxxxx”,”password”:”xxxxxxxxxxx”,”host”:”MMSCD400.man.cox.com”,”port”:”3825″,”secure”:true,”ignoreCertificateErrors”:false,”subType”:”batch”,”library”:”DVPPBAID”,”program”:”ADJDTL”,”startBatchJobCommand”:”SBMJOB CMD(CALL PGM(DVPPBAID/ADJDTL)) INLLIBL(DVPPBAID QGPL MSYSBASE MACS MACSF MANHEIMSRC MASTERF) CURLIB(QGPL) JOBQ(QSYSNOMAX) MSGQ(*USRPRF) CPYENVVAR(*YES)”,”updateProductionFiles”:true,”trace”:true,”workbenchSettings”:{“updateProductionFiles”:true,”enableDebugTracing”:true,”connection”:{“connectionPort”:3825}},”__sessionId”:”804f705f-1392-4f0e-9736-2f6df8e278b8″})
        To client: {“seq”:0,”type”:”event”,”event”:”output”,”body”:{“category”:”stderr”,”output”:”Connection settings: { ‘host’: ‘MMSCD400.man.cox.com’, ‘port’: 3825, ‘secure’: true, ‘capath’: ‘/Users/paras.baid/MMSCD400.man.cox.com_debug_service.crt’, ‘ignoreCertificateErrors’: false, ‘TLS_Version’: undefined }”}}

        Reply
  2. Gene Burns
    Gene Burns says:

    When I try to setup the IBM i debug service I recieve an error. I installed the PTFs, click on generate certificates, continue and I recieve the error message ” Failed to create certificates”. It created the sub-directories but didn’t create the certificates. Where can I look to see what is the problem?

    Reply
  3. stefan
    stefan says:

    Hello, Facing the same issue, in our case it seems not to be an authority issue. However we get an error “An error occured” running the Walkthrough for setting up certificates during Debug Services setup. If I run the StartServices.sh script manually I get error “Environment variable DEBUG_SERVICE_KEYSTORE_PASSWORD is not set.”. Using i Navigator to start the Debug Server reveals: A popup “Debug Service Configuration” asking for a Keystore Password for keystore file: /QIBM/UserData/OS/Admininst/admin5/wlp/usr/servers/admin5/resources/security/merlin-keystore.p12.
    Thanks in advance for any hints/workaround provided.

    Reply
  4. Sudhir Arora
    Sudhir Arora says:

    Hi Team,

    I work in CVS Health organization which has one of the biggest IBMi server and i am part of CI/CD discovery project with one of the objective is to evaluate VS code for different aspects of development and debug is crucial part of development, therefore we are exploring that as well on VS Code. We are currently not able to do debug on VS code yet.
    As per documentation, there are below pre-requisites for debug to work :
    1. Install Debug extension
    2. Ensure all PTF’s installed
    3. Generate Debug certificates
    4. Start up the service.

    We have completed Step1, Step2 and we are stuck on Step3 as we don’t have authority to create certificates. Our system team have authority but they don’t have VS code installed on their machine so they will not be able to do that.

    We noticed as part of Generate step below 2 files are created at IFS location : /QIBM/ProdData/IBMiDebugService/bin/certs.

    debug_service.pfx : is used to start up the service on the server.
    debug_service.crt : which is used as a client certifcate. This can be downloaded and imported later.

    By any chance can you provide us a downloadable files for these, so that we can share that with our system team to just download those files and upload on system at desired IFS location.

    Please suggest if you have any other workaround for this situation.

    Reply

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.