When using the graphical debugger, simply “Set service entry point”. When the program is run, the debugger will open. You can “Step into” the modules. If the source is avaialable, you should be able to see it.
Just ReCompile your Module (and Pgm) using option DBGVIEW(*SOURCE) and you’ll get it.
If DBGVIEW(*SOURCE) or DBGVIEW(*LIST) wasn’t specified when that module was compile, then the only possible debugging would be for DBGVIEW(*STMT) which essentially refers to MI-level statements(adjust for ILE compilers). Or if all debug info was removed after compilation, then no debugging is possible at all.
For in-house programming, there should possibly never be a module that is compiled with anything other than DBGVIEW(*ALL).
For this case, it’s probable that the module should be recompiled with DBGVIEW(*ALL) specified. Then use UPDPGM to update the module in the program.
1) First ensure whether your Module is compiled with option “DBGVIEW(*SOURCE)”.
2) If not then compile the module with opt-15 it with “DBGVIEW(*SOURCE)”.
3) Compile your entire RPGILE pgm with CRTPGM command & mentioning all the modules(your module & the other 2 modules)
4) while mentioning the above mention your module-name against PEP(Program Entry Procedure); this is what Tom says as the “Service Entry point”.
5) Once Everything is compiled properly; you will see the msg in the bottom of the session as the “Program created”.
6)Now you should be fine to debug your module using STRDBG.