By compiling your RPG/400 programs and CL programs with the right parameters you can use the ILE source level debugger
on these objects as well as RPGLE and CLLE objects.
For RPG, set the OPTION parameter of CRTRPGPGM to *LSTDBG or *SRCDBG. (*LSTDBG is better because it will include any /COPY source in the debug view.) For CL, set the OPTION parameter of CRTCLPGM to *SRCDBG. Then when you STRDBG for the program make sure you set the OPMSRC parameter to *YES.
I've set up PDM options to do the compiles with the correct parameter selections, and I created a simple CL program and command that does the correct STRDBG based on the attribute of the program.�The CL does a RTVOBJA on the program, and if the object is RPGLE or CLLE it does a simple STRDBG; otherwise it does the STRDBG with OPMSRC(*YES).