Wybór podopcji kompilatora TEST lub NOTEST dla programów w języku COBOL

Należy określić kombinację opcji kompilatora TEST i podopcji kompilatora w celu utworzenia informacji debugowania potrzebnych do debugowania programu. W tym temacie założono, że program w języku COBOL jest kompilowany przy użyciu produktu Enterprise COBOL for z/OS®, wersja 6.2lub nowszego. Jednak tematy zawierają informacje o alternatywach dla starszych wersji kompilatora języka COBOL.

Kompilator języka COBOL udostępnia opcję kompilatora TEST i jej podopcje umożliwiające sterowanie następującymi działaniami:

  • Generowanie danych debugowania.
  • Umieszczenie informacji debugowania w obiekcie programu lub w oddzielnym pliku debugowania.

Poniższe instrukcje ułatwiają wybór kombinacji podopcji kompilatora TEST , które udostępniają funkcje potrzebne do debugowania programu:

  1. Z poniższej listy wybierz scenariusz debugowania z uwzględnieniem zasobów serwisu:
    • Scenariusz A: w przypadku kompilowania przy użyciu produktu Enterprise COBOL for z/OS w wersji 6 wydanie 2 lub nowszej można uzyskać większość funkcji debugera z/OS za pomocą programu TEST(SEPARATE/NOSEPARATE,SOURCE/NOSOURCE,EJPD). W przypadku produktu Enterprise COBOL for z/OS w wersji 6 wydanie 2 z zainstalowaną poprawką APAR PH04485 lub nowszą można podać wartość SEPARATE(DSNAME). Opcja DSNAME nakazuje kompilatorowi zapisanie w obiekcie programu nazwy oddzielnego pliku debugowania , która jest nazwą zestawu danych SYSDEBUG DD .
      • W przypadku użycia opcji kompilatora TEST(NOSEPARATE) dane debugowania są zapisywane w obiekcie programu w segmencie debugowania NOLOAD . Dane debugowania zawsze są zgodne z kodem wykonywalnym i są zawsze dostępne, dlatego nie ma potrzeby wyszukiwania pliku SYSDEBUG. Wielkość obiektu programu zwiększa się, ale nie zwiększa się ilość miejsca w pamięci, chyba że podczas debugowania wymagane jest załadowanie danych debugowania.
        Uwagi:
        • Nie należy używać instrukcji PAGE konsolidatora podczas wiązania obiektu programu, który zawiera więcej niż jeden program Enterprise COBOL for z/OS w wersji 5 lub nowszej, skompilowany z opcją kompilatora TEST , w którym dane debugowania są zapisywane w obiekcie programu w segmencie debugowania NOLOAD .
        • Jeśli ma być używane debugowanie na poziomie kodu źródłowego, nie należy używać instrukcji PAGE konsolidatora podczas wiązania obiektu programu, który zawiera dowolny program w języku Enterprise COBOL for z/OS w wersji 6.2 lub nowszej skompilowany z opcją kompilatora TEST, w którym dane debugowania są zapisywane w obiekcie programu w segmencie debugowania NOLOAD .
      • W przypadku użycia opcji kompilatora TEST(SEPARATE) dane debugowania są zapisywane w oddzielnym pliku debugowania. Kompilator używa instrukcji SYSDEBUG DD do określenia położenia oddzielnego pliku debugowania.
        • Dla produktu Enterprise COBOL for z/OS w wersji 6 wydanie 2 z zainstalowaną poprawką APAR PH04485 lub nowszą można podać parametr SEPARATE(DSNAME) , aby zapisać nazwę oddzielnego pliku debugowania w obiekcie programu.
        • Jeśli nie zostanie podana wartość SEPARATE(DSNAME) lub położenie oddzielnego pliku debugowania uległo zmianie od czasu kompilacji, należy określić położenie oddzielnego pliku debugowania przy użyciu jednej z następujących metod. Debuger z/OS szuka osobnego pliku debugowania w następującej kolejności:
          • Komenda SET SOURCE służąca do określania dokładnego położenia oddzielnego pliku debugowania
          • Program zewnętrzny EQAUEDAT
          • SET DEFAULT LISTINGS command
          • Nazwa EQADEBUG DD
          • EQA_DBG_SYSDEBUG zmienna środowiskowa

          Jeśli używana jest procedura zewnętrzna systemu EQAUEDAT , komenda SET DEFAULT LISTINGS , nazwa EQADEBUG DD lub zmienna środowiskowa EQA_DBG_SYSDEBUG , należy określić zestaw danych PDS lub katalog z/OS UNIX® System Services jako osobne położenie pliku debugowania.

          Jeśli używana jest komenda SET DEFAULT LISTINGS , nazwa EQADEBUG DD lub zmienna środowiskowa EQA_DBG_SYSDEBUG i jeśli oddzielny plik debugowania nie zostanie znaleziony, ponieważ nazwa pliku nie jest zgodna z nazwą CU, debuger z/OS wykona wyczerpujące wyszukiwanie zestawów danych określonych za pomocą tej samej metody w celu znalezienia zgodnego pliku debugowania. Wyszukiwanie wyczerpujące może być powolne.

      • W systemie TEST(SOURCE)kompilator dołącza źródło programu do obiektu programu lub pliku SYSDEBUG jako część danych debugowania. Wszystkie pliki kopii zostaną rozwinięte. To rozwinięte źródło jest nazywane listingiem i jest używane do zapełniania okna Źródło w interfejsie użytkownika MIF lub widoku Listing , gdy używane jest Eclipse IDE. Jeśli używany jest system TEST(NOSOURCE), kompilator nie dołącza źródła programu jako części danych debugowania, dlatego należy wskazać położenie pliku źródłowego debugowanego programu. Jest to obsługiwane tylko przez Eclipse IDE i jest używane w widoku Źródło . Więcej informacji na temat widoków w Eclipse IDEzawiera sekcja Praca z różnymi widokami debugowania.
      • Można połączyć opcję kompilacji TEST(EJPD) z opcją kompilacji OPT(1/2) , aby umożliwić kompilatorowi optymalizację obiektu i nadal mieć dostęp do wszystkich funkcji debugowania. Aby uzyskać lepszą optymalizację obiektu, można użyć funkcji TEST(NOEJPD). Jednak w przypadku optymalizacji niektóre zmienne mogą nie być poprawnie wyświetlane lub cel komendy JUMPTO lub GOTO może nie powieść się w niektórych scenariuszach. Jeśli nadal chcesz uzyskać lepszą wydajność obiektu, możesz wybrać opcję NOEJPD i przejść bezpośrednio do środowiska produkcyjnego w celu debugowania.
        • W systemach NOEJPD, GOTO i JUMPTO są wyłączone. Można je włączyć za pomocą komendy SET WARNING OFF w wierszu komend interfejsu użytkownika MFI lub w konsoli debugowania środowiska Eclipse IDE.
    • Scenariusz B: Jeśli konieczne jest debugowanie programów załadowanych do pamięci chronionej, należy sprawdzić, czy w serwisie zainstalowano autoryzowane narzędzie debugowania (Authorized Debug Facility).
      Aby debugować programy załadowane do pamięci tylko do odczytu, wykonaj następujące kroki:
      1. Użyj narzędzia Debugowanie dynamiczne , aby umieścić haki w programach, które rezydują w pamięci tylko do odczytu. Skontaktuj się z administratorem systemu, aby sprawdzić, czy zainstalowano narzędzie do autoryzowanego debugowania i czy masz uprawnienia do jego używania.
      2. Po uruchomieniu programu z/OS Debuggernależy sprawdzić, czy narzędzie Dynamic Debug nie zostało dezaktywowane, wprowadzając komendę QUERY DYNDEBUG .
      3. Sprawdź, czy oddzielny plik debugowania jest plikiem nietymczasowym i jest dostępny podczas sesji debugowania. Listing nie musi być zapisany.
      Uwaga: Nie należy używać instrukcji PAGE konsolidatora podczas wiązania obiektu programu, który zawiera więcej niż jeden program Enterprise COBOL for z/OS w wersji 5 lub nowszej, skompilowany z opcją kompilatora TEST , w którym dane debugowania są zapisywane w obiekcie programu w segmencie debugowania NOLOAD .
    • Scenariusz C: Jeśli użytkownik nie jest nowym użytkownikiem produktu z/OS Debugger i skompilował programy przy użyciu języka Enterprise COBOL for z/OS w wersji 4 lub wcześniejszej przy użyciu języka NOTEST, a użytkownik nie chce rekompilować programów w celu użycia programu z/OS Debugger, można uzyskać większość funkcji debugowania, generując plik EQALANGX . Wymaga to debugowania programu w trybie języka COBOL LangX . Ta funkcja ułatwia migrację do zalecanych opcji kompilacji TEST we własnym tempie.
      Uwaga: Generowanie plików EQALANGX nie jest obsługiwane w przypadku produktu Enterprise COBOL for z/OS w wersji 5 lub nowszej.
    • Scenariusz D: Jeśli obiekt programu został skompilowany z opcją kompilatora NOTEST i nie ma pliku EQALANGX , można uzyskać pewne funkcje debugowania, debugując program w trybie deasemblacji.
      Jeśli używane są inne narzędzia produktu Application Delivery Foundation for z/OS , Należy zapoznać się z tematem IBM® Application Delivery Foundation for z/OS Common Components Customization Guide and User Guide , który odpowiada używanemu kompilatorowi z poniższej listy, aby upewnić się, że określono wszystkie opcje kompilatora potrzebne do utworzenia plików wymaganych przez wszystkie narzędzia produktu Application Delivery Foundation for z/OS :
      • Programy w języku Enterprise COBOL for z/OS wersja 4
      • Programy Enterprise COBOL for z/OS w wersji 3 oraz COBOL for OS/390® i VM
      • COBOL dla programów MVS (tm) i VM
      • Programy VS COBOL II
      • Programy OP/VS w języku COBOL
    • Scenariusz E: w przypadku kompilowania przy użyciu Enterprise COBOL for z/OS, Wersja 4można uzyskać większość funkcjonalności programu z/OS Debuger i małą wielkość programu za pomocą komendy TEST(NOHOOK,SEPARATE). Jeśli konieczne jest debugowanie programów załadowanych do chronionej pamięci masowej, należy sprawdzić, czy w serwisie zainstalowano program Authorized Debug Facility.
      Aby kompilować program z opcją kompilatora OPT(STD) lub OPT(FULL) , należy również podać podopcję EJPD opcji kompilatora TEST , aby można było wykonywać następujące czynności:
      • Użyj komend GOTO lub JUMPTO .
      • Zmodyfikuj zmienne z przewidywalnymi wynikami.
      Użycie podopcji EJPD może spowodować utratę części optymalizacji.
      Aby uzyskać wszystkie funkcje debugera z/OS , ale mieć większy program i nie chcieć, aby informacje debugowania były w osobnym pliku debugowania, należy skompilować je z następującymi opcjami kompilatora:
      • TEST(HOOK,NOSEPARATE) z produktem Enterprise COBOL for z/OS, wersja 4.
      • TEST(ALL,SYM,NOSEPARATE) z dowolnym z następujących kompilatorów:
        • Enterprise COBOL for z/OS and OS/390, wersja 3, wydanie 2 lub nowsza
        • Enterprise COBOL for z/OS and OS/390, wersja 3, wydanie 1 z poprawką APAR PQ63235
        • COBOL for OS/390 & VM, wersja 2, wydanie 2
        • COBOL for OS/390 & VM, wersja 2, wydanie 1 z poprawką APAR PQ40298

      Jeśli używane są inne narzędzia produktu Application Delivery Foundation for z/OS , należy zapoznać się z informacjami w podręczniku IBM Application Delivery Foundation for z/OS Common Components Customization Guide and User Guide , aby upewnić się, że określono wszystkie opcje kompilatora potrzebne do utworzenia plików wymaganych przez wszystkie narzędzia produktu Application Delivery Foundation for z/OS .

    • Scenariusz F: W przypadku kompilowania z jednym z następujących kompilatorów można uzyskać największą funkcjonalność produktu z/OS Debuger i małą wielkość programu za pomocą komendy TEST(NONE,SYM,SEPARATE):
      • Enterprise COBOL for z/OS and OS/390, wersja 3, wydanie 2 lub nowsza
      • Enterprise COBOL for z/OS and OS/390, wersja 3, wydanie 1 z poprawką APAR PQ63235
      • COBOL for OS/390 & VM, wersja 2, wydanie 2
      • COBOL for OS/390 & VM, wersja 2, wydanie 1 z poprawką APAR PQ63234.
      Jeśli konieczne jest debugowanie programów załadowanych do chronionej pamięci masowej, należy sprawdzić, czy w serwisie zainstalowano program Authorized Debug Facility.
      Aby skompilować program z optymalizacją i uzyskać największą funkcjonalność produktu z/OS Debuger , należy skompilować go z jedną z następujących kombinacji opcji kompilatora:
      • OPT(STD) TEST(NONE,SYM)
      • OPT(STD) TEST(NONE,SYM,SEPARATE)
      • OPT(FULL) TEST(NONE,SYM)
      • OPT(FULL) TEST(NONE,SYM,SEPARATE)
      W przypadku tych typów programów można modyfikować zmienne, ale wyniki mogą być nieprzewidywalne.

      Jeśli używane są inne narzędzia produktu Application Delivery Foundation for z/OS , należy zapoznać się z informacjami w podręczniku IBM Application Delivery Foundation for z/OS Common Components Customization Guide and User Guide , aby upewnić się, że określono wszystkie opcje kompilatora potrzebne do utworzenia plików wymaganych przez wszystkie narzędzia produktu Application Delivery Foundation for z/OS .

    • Scenariusz G: jeśli używany jest system COBOL for OS/390 & VM, wersja 2 wydanie 1 lub wcześniejsze, a użytkownik chce uzyskać wszystkie funkcje produktu z/OS Debuger , należy użyć programu TEST(ALL,SYM).
      Jeśli używane są inne narzędzia produktu Application Delivery Foundation for z/OS , Należy zapoznać się z tematem IBM Application Delivery Foundation for z/OS Common Components Customization Guide and User Guide , który odpowiada używanemu kompilatorowi z poniższej listy, aby upewnić się, że określono wszystkie opcje kompilatora potrzebne do utworzenia plików wymaganych przez wszystkie narzędzia produktu Application Delivery Foundation for z/OS :
      • Programy Enterprise COBOL for z/OS wersja 3 i COBOL for OS/390 i VM
      • COBOL dla programów MVS (tm) i VM
      • Programy VS COBOL II
      • Programy OP/VS w języku COBOL
  2. W przypadku programów w języku COBOL korzystających z systemu IMSnależy dołączyć moduł interfejsu IMS DFSLI000 z biblioteki IMS RESLIB.
  3. Sprawdź, czy należy wykonać jedną z następujących czynności:
    • Jeśli parametr NUMBER zostanie podany z wartością TEST, należy upewnić się, że wszystkie pola sekwencji w kodzie źródłowym zawierają cyfry.
    • Należy podać podopcję SYM opcji kompilatora TEST , aby wykonać następujące działania:
      • Aby określić etykiety (nazwy akapitów lub sekcji) jako cele komendy GOTO .
      • Do odwoływania się do zmiennych programu według nazwy.
      • Aby uzyskać dostęp do zmiennej lub wyrażenia za pomocą komend, takich jak LIST lub DESCRIBE.
      • Aby użyć podopcji DATA komendy PLAYBACK ENABLE .
      Podopcję SYM należy określić w celu wykonania tych działań tylko w przypadku kompilowania z dowolnym z następujących kompilatorów:
      • Dowolna wersja produktu Enterprise COBOL for z/OS and OS/390, wersja 3
      • Dowolna wersja produktu COBOL for OS/390 & VM, wersja 2
    • Opcje kompilatora TEST i środowiska wykonawczego DEBUG wykluczają się wzajemnie, przy czym pierwszeństwo ma DEBUG . Jeśli w akapicie SOURCE-COMPUTER zostanie podana zarówno klauzula WITH DEBUGGING MODE , jak i instrukcja USE FOR DEBUGGING w kodzie, wówczas opcja TEST zostanie zdezaktywowana. Opcja kompilatora TEST jest wyświetlana na liście opcji, ale generowany jest komunikat diagnostyczny informujący o tym, że z powodu konfliktu nie ma zastosowania opcja TEST .
    • W przypadku programów w języku VS COBOL II, jeśli używana jest opcja kompilatora TEST , należy określić:
      • Opcja kompilatora SOURCE . Ta opcja jest wymagana do wygenerowania pliku listingu i zapisania go w położeniu userid.pgmname.list.
      • Opcja kompilatora RESIDENT . Ta opcja jest wymagana przez Language Environment ® , aby zapewnić dynamiczne ładowanie niezbędnych procedur z/OS Debugger w czasie wykonywania.

      Ponadto należy połączyć program z biblioteką Language Environment SCEELKED , a nie z biblioteką VS COBOL II COB2LIB .

Po wybraniu opcji i podopcji kompilatora należy zapoznać się z sekcją Planowanie sesji debugowania , aby określić następną czynność, którą należy wykonać.

Więcej informacji na ten temat można znaleźć w następujących tematach.

  • Informacje pokrewne
  • Opis opcji kompilatora TEST w podręczniku Enterprise COBOL for z/OS Programming Guide

W poniższej tabeli przedstawiono efekty działania opcji kompilatora NOTEST, opcji kompilatora TEST oraz niektórych podopcji opcji opcji kompilatora TEST na serwerze z/OS Debugger lub dostępność opcji, które nie zostały opisane w publikacji Enterprise COBOL for z/OS Programming Guide:

Tabela 1. Opis efektów, jakie ma opcja kompilatora COBOL NOTEST i niektóre podopcje kompilatora TEST na z/OS Debugger.
Nazwa opcji lub podopcji kompilatora Opis efektu
NIETEST
  • Nie można przechodzić przez instrukcje programu.
  • Wykonywanie programu można zawiesić tylko podczas inicjowania głównej jednostki kompilacji.
  • Do programu można dołączyć wywołania do programu CEETEST , aby umożliwić zawieszenie wykonywania programu i wydanie komend z/OS Debuger .
  • Nie można sprawdzać ani używać żadnych zmiennych programu.
  • Można wyświetlić listę pamięci i rejestrów.
  • Nie można użyć listingu kodu źródłowego utworzonego przez kompilator, dlatego nie jest on dostępny podczas sesji debugowania. Komenda SET DEFAULT LISTINGS nie może udostępnić listingu.
  • Ponieważ tabela instrukcji nie jest dostępna, nie można ustawić żadnych punktów zatrzymania instrukcji ani użyć komend, takich jak GOTO lub QUERY położenie.
Program można jednak nadal debugować przy użyciu widoku deasemblacji. Informacje na temat korzystania z widoku deasemblacji zawiera sekcja Debugowanie zdeasemblowanego programu.
EJPD
Zmienne można modyfikować w zoptymalizowanym programie, który został skompilowany za pomocą jednego z następujących kompilatorów:
  • Enterprise COBOL for z/OS, wersja 5 i nowsze
  • Enterprise COBOL for z/OS, wersja 4
Jednak wyniki mogą być nieprzewidywalne. Aby uzyskać bardziej przewidywalne wyniki, należy skompilować program przy użyciu kompilatora Enterprise COBOL for z/OS, wersja 4 i 5, a następnie podać podopcję EJPD opcji kompilatora TEST . Jednak nie można modyfikować zmiennych, które zostały zadeklarowane z klauzulą VALUE w celu ich zainicjowania.
loud
Parametr LOUD jest zalecany, ale opcjonalny. Jeśli zostanie podany, zostaną wyświetlone dodatkowe komunikaty informacyjne i statystyczne.

W przypadku kompilacji z podopcją NOEJPD opcji kompilatora TEST można użyć ustawienia SET WARNING OFF , aby uzyskać ograniczoną obsługę komend GOTO i JUMPTO . GOTO i JUMPTO nie są włączone.

Następujące opcje są obsługiwane tylko w produkcie Enterprise COBOL for z/OS w wersji 4 i wcześniejszych:
NOSYM,
  • Nie można odwoływać się do zmiennych programu według nazwy.
  • Do uzyskania dostępu do zmiennej lub wyrażenia nie można używać komend, takich jak LIST lub DESCRIBE .
  • Nie można używać komend, takich jak CALL , do rozgałęzienia do innego programu lub GOTO , do rozgałęzienia do innej etykiety (nazwa akapitu lub sekcji).

W przypadku kompilacji w języku Enterprise COBOL for z/OSw wersji 4 kompilator ignoruje kod SYM lub NOSYM i zawsze tworzy tabelę symboli.

Ta opcja nie jest dostępna w produkcie Enterprise COBOL for z/OS 5.

STMT
  • Kompilator języka COBOL generuje wkompilowane haki dla instrukcji przetwarzania daty tylko wtedy, gdy określona jest opcja kompilatora DATEPROC . Instrukcja przetwarzania daty to dowolna instrukcja, która odwołuje się do pola daty lub dowolna fraza EVALUATE lub SEARCH instrukcja WHEN , która odwołuje się do pola daty.
  • Punkty zatrzymania można ustawiać we wszystkich instrukcjach i krokowo wykonywać program.
  • z/OS Debuger nie może uzyskać kontroli w punktach ścieżki, chyba że znajdują się one również w granicach instrukcji.
  • Rozgałęzienie wszystkich instrukcji i etykiet za pomocą komendy z/OS Debugger GOTO jest dozwolone.

W przypadku kompilowania z produktem Enterprise COBOL for z/OSw wersji 4 kompilator traktuje podopcję STMT tak, jakby była podopcją HOOK , która jest odpowiednikiem podopcji ALL dla dowolnej wersji produktu Enterprise COBOL for z/OS and OS/390, wersja 3 lub COBOL for OS/390 & VM, wersja 2.

Ta opcja nie jest dostępna w produkcie Enterprise COBOL for z/OS 5.

Ścieżka
  • z/OS Debuger może przejąć kontrolę tylko w punktach ścieżki oraz w punktach wejścia i wyjścia bloku. W przypadku próby wykonania kroków w programie z/OS Debugger uzyskuje kontrolę tylko w przypadku instrukcji, które są zgodne z punktami ścieżki, co daje wrażenie, że nie wszystkie instrukcje są wykonywane.
  • Wywołanie metody CEETEST może zostać użyte w dowolnym momencie do uruchomienia programu z/OS Debuger.
  • Komenda z/OS Debugger GOTO jest poprawna dla wszystkich instrukcji i etykiet zbieżnych z punktami ścieżki.

W przypadku kompilowania z produktem Enterprise COBOL for z/OSw wersji 4 kompilator traktuje podopcję PATH tak, jakby była podopcją HOOK , która jest odpowiednikiem podopcji ALL dla dowolnej wersji produktu Enterprise COBOL for z/OS and OS/390, wersja 3 lub COBOL for OS/390 & VM, wersja 2.

Ta opcja nie jest dostępna w produkcie Enterprise COBOL for z/OS 5.

blok
  • z/OS Debuger uzyskuje kontrolę nad wejściem i wyjściem z programu, metod i programów zagnieżdżonych.
  • z/OS Debuger można jawnie uruchomić w dowolnym momencie za pomocą wywołania CEETEST.
  • Wydanie komendy, takiej jak STEP , powoduje, że program jest uruchamiany do momentu osiągnięcia następnego punktu wejścia lub wyjścia.
  • Funkcji GOTO można użyć do rozgałęzienia instrukcji, które są zgodne z punktami wejścia i wyjścia bloku.

W przypadku kompilowania z produktem Enterprise COBOL for z/OSw wersji 4 kompilator traktuje podopcję BLOCK tak, jakby była podopcją HOOK , która jest odpowiednikiem podopcji ALL dla dowolnej wersji produktu Enterprise COBOL for z/OS and OS/390, wersja 3 lub COBOL for OS/390 & VM, wersja 2.

Ta opcja nie jest dostępna w produkcie Enterprise COBOL for z/OS 5.

WSZYSTKO
  • Punkty zatrzymania można ustawiać we wszystkich instrukcjach i punktach ścieżki, a także krokowo w programie.
  • z/OS Debuger może przejąć kontrolę nad programem we wszystkich instrukcjach, ścieżkach, instrukcjach przetwarzania daty, etykietach oraz blokowych punktach wejścia i wyjścia, umożliwiając wprowadzanie komend z/OS Debugger .
  • Rozgałęzienie do instrukcji i etykiet za pomocą komendy z/OS Debugger GOTO jest dozwolone.

W przypadku kompilowania z produktem Enterprise COBOL for z/OSw wersji 4 kompilator traktuje podopcję ALL tak, jakby była podopcją HOOK , która jest odpowiednikiem podopcji ALL dla dowolnej wersji produktu Enterprise COBOL for z/OS and OS/390, wersja 3 lub COBOL for OS/390 & VM, wersja 2.

Ta opcja nie jest dostępna w przypadku produktu Enterprise COBOL for z/OS 5, ale po określeniu kompilacji TEST za pomocą tego kompilatora tworzony jest obiekt podobny do obiektu ALL z wyjątkiem tego, że haki wkompilowane są niedostępne.