Debugging ILE program in batch

From MidrangeWiki
Revision as of 16:12, 25 May 2005 by David (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Brad Stone has a FAQ entry that addresses this: http://bvstools.com/faq.html#RPG

If that site is unavailable, here is a list of steps culled from posts to RPG400-L:

Using the green screen debugger:

  1. Submit your program to batch. The job MUST be held. You can either hold the job queue (HLDJOBQ) or hold the individual job (HLDJOB) or specify HOLD(*YES) on the SBMJOB command.
  2. WRKSBMJOB/WRKUSRJOB/WRKACTJOB and find your submitted job. Note that the SBMJOB command gives you an informational message with the job name/number. What you need is the job name, user ID and job number - the fully qualified job name. Example: 123456/BUCK/MONTHEND
  3. STRSRVJOB on the held batch job.
  4. STRDBG on your program. Specify UPDPROD(*YES) if needed. You'll see the source listing if you compiled with DBGVIEW(*LIST) or *SOURCE.
  5. Press F12 to exit - you cannot set a breakpoint yet.
  6. Release the job so that it becomes STATUS(*ACTIVE).
  7. You'll see a display asking if you want to debug or continue. Press F10 to debug.
  8. DSPMODSRC to see the source listing again. Alternately, press F10 to step into the first instruction.
  9. Now you can add your breakpoints.
  10. Press F3 until you're back to the "debug or continue" display. Press Enter to run the program with your breakpoints set.
  11. When you're done, do an ENDDBG and ENDSRVJOB.

Thanks to Bob Slaney, Phil, Patrick Conner and Kelly Fucile.

Using the IBM Distributed Debugger:

  1. SBMJOB CMD(CALL PGM(yourlib/yourpgm)) JOBQ(yourlib/yourjobq) HOLD(*YES)
  2. Start your Code debugger from Start->Programs->WebSphere Development... ->IBM Distributed Debugger->IBM Distributed Debugger
  3. Select the debugger Start up window and key into the job name entry field */##########/* where ########## is your user id.
  4. You may have to log in and specify the AS/400 system name.
  5. Select the job that is being held in yourjobq.
  6. Click the ok push button.
  7. Enter the library and program name into the Program entry field
  8. Click the Load push button on the debugger Startup information window. A debugger message will appear telling you to start the program.
  9. Click Ok on the message push button, even though it tells you to start your program first.
  10. Switch to a 5250 emulation window.
  11. WRKJOBQ JOBQ(yourlib/yourjobq)
  12. Release your job.

Answer courtesy Rob Berendt via RPG400-L 2 Aug 2001