Aktualności i artykuły

Opublikowano: 30 czerwca 2014
Kategoria wpisu: poradnikiprogramowanie

Batch the bug

Czyli debugowanie programów wsadowych ILE RPG

O ile proces wyłapywania błędów kontrolując wykonanie programu interaktywnego nie przysparza problemów, to w przypadku programu wsadowego operacja jest znacznie bardziej skomplikowana. Jak przygotować i uruchomić debugowanie programu wsadowego ? Oto instrukcja jak wykonać to krok po kroku:

  • przygotuj źródÅ‚o programu kompilujÄ…c go z nastÄ™pujÄ…cymi parametrami DBGVIEW (*SOURCE) OPTION(*SRCSTMT:*NODEBUGIO)

  • zatrzymaj kolejkÄ™ zadaÅ„ do której zostanie skierowany program wsadowy po uruchomieniudebugowanie
  • wystartuj zadanie wsadowe
  • zatrzymaj zadanie (status HOLD), które dziÄ™ki wstrzymanej kolejce nie wykonuje siÄ™
  • zwolnij zatrzymanÄ… kolejkÄ™ zadaÅ„
  • uruchom „serwisowanie” uruchomionego zadania za pomocÄ… komendy STRSRVJOB JOB(numer_zadania/użytkownik/nazwa_zadania) gdzie parametry komendy pochodzÄ… z uruchomionego zadania wsadowego
  • uruchom debugger komendÄ… STRDBG PGM(biblioteka/program) UPDPROD(*YES)
  • zostaniesz przeniesiony na ekran wyÅ›wietlajÄ…cy źródÅ‚o programu, lecz nie próbuj jeszcze debugować czy dodawać punktów zatrzymania programu (breakpoints). By można byÅ‚o debugować, zadanie musi być aktywne. Wyjdź z ekranu za pomocÄ… F12
  • zwolnij zatrzymane zadanie wsadowe
  • w momencie gdy zadanie stanie siÄ™ aktywne, pokaże siÄ™ okno startu zadania serwisowego. Użyj F10 by wprowadzać komendy debugera’a
  • za pomocÄ… komendy DSPMODSRC wróć do źródeÅ‚ programu i dodaj punkty zatrzymania w programie (F6)
  • użyj klawisza F12 by wznowić dziaÅ‚anie programu i raz jeszcze F12 by wrócić do okienka komendy serwisowej
  • ENTER spowoduje uruchomienie zadania i proces debugowania rozpocznie siÄ™ podobnie jak ma to miejsce w zadaniach interaktywnych
  • w momencie zakoÅ„czenia zadania otrzymasz komunikat „Job being serviced ended”
  • użyj komendy ENDDBG by zakoÅ„czyć debugowanie i ENDSRVJOB by zakoÅ„czyć serwisowanie

Proces wydaje się być zagmatwany lecz kilkukrotne jego przejście powoduje, że wykonywanie poszczególnych czynności staje się logiczne i jasne.

 

^