Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Starten einer UTM-Anwendung auf Windows-Systemen mit Debugger

&pagelevel(5)&pagelevel

Wenn Sie ein Teilprogramm debuggen wollen, das beim Start der Anwendung automatisch abläuft, z.B. Teilprogramm für einen Start-Exit oder das MSGTAC-Programm für Start-Meldungen, dann müssen Sie die Anwendung speziell starten:

  1. Sie starten den Mainprozess wie bei einer UTM-Produktivanwendung. Sie müssen jedoch zusätzlich den Parameter TEST angeben.

    Öffnen Sie dazu ein Fenster Eingabeaufforderung, wechseln Sie in das Anwendungsverzeichnis und geben Sie Folgendes ein:

    utmmain . startparam-file TEST 1>utmp-out.txt <nul

    Dabei muss die PATH-Variable entsprechend gesetzt sein, d.h sie muss UTMPATH\ex enthalten. Die Ausgabe auf stdout wird hier in Datei umgelenkt. nul entspricht /dev/null auf Unix- und Linux-Systemen.

    Der Mainprozess utmmain erzeugt dann nur den Timerprozess und weitere Betriebsmittel wie z.B. die Pipe zur Kommunikation mit den Workprozessen. Es werden aber keine Workprozesse erzeugt.

    Der Mainprozess fordert Sie mit der Meldung U244 auf, einen Workprozess zu starten. U244 kann z.B. so aussehen:

    U244 utmmain: Bitte ./utmwork starten mit Argumenten:

    V07.0A23 sample01 . ./startp.std 0 0 Y

    Die zweite Zeile benötigen Sie später für den Debugger. Das Argument 0 bedeutet, dass dieser Prozess neu gestartet wird, d.h. er ersetzt keinen zuvor beendeten Workprozess. Y bedeutet zusätzlich, dass dies der erste Workprozess ist.

    Sie dürfen das Fenster jetzt nicht schließen, sonst wird der Mainprozess beendet!

    Beachten Sie bitte, dass beim Testen im Dialog der zweite Workprozess ein UTM-System-Prozess ist und deshalb ggf. drei Workprozesse gestartet werden müssen, wenn z.B. Programme mit PGWT getestet werden sollen.

  2. Den ersten Workprozess utmwork müssen Sie unter der Kontrolle des Debuggers starten. Dabei gehen Sie wie folgt vor:

    1. Öffnen Sie das Anwendungsprojekt mit dem Microsoft Visual Studio und wählen Sie den Menüpunkt Project - utmwork properties aus.

    2. Klicken Sie im Navigationsbereich bei Configuration Properties den Punkt Debugging an, geben Sie im Feld Working Directory den filebase-Namen an und tragen Sie in das Feld Command Arguments die Werte aus der Meldung U244 ein.
      Diese Werte haben folgenden Aufbau:

      utmversion appliname filebase startparameter-file 0 0 Y

    3. Klicken Sie auf OK.

    4. Starten Sie den ersten Workprozess mit dem Debugger, indem Sie im Menü Debug den Punkt Start Debug anklicken.

  3. Danach können Sie die weiteren Workprozesse starten. Workprozesse sollten immer dann nachgestartet werden, wenn der Mainprozess mit der Meldung U244 dazu auffordert. Zusätzliche Prozesse benötigen als letztes Argument immer den Wert N.

    Beachten Sie bitte, dass beim Testen im Dialog der zweite Workprozess ein UTM-System-Prozess ist und deshalb ggf. drei Workprozesse gestartet werden müssen, wenn z.B. Programme mit PGWT getestet werden sollen.

    Die Parameter für das Starten der Workprozesse entnehmen Sie aus der dazugehörigen Meldung U244.

    version appliname filebase startparam-file pid id N

    Sie können nicht mehr Workprozesse starten als in der Startparameterdatei bei TASKS= angegeben wurden. Die Maximalzahl der Workprozesse wird bei der UTM-Generierung in der MAX-Anweisung festgelegt. Versuchen Sie mehr Workprozesse zu starten, führt dies zu Startfehlern.

  4. Wenn nicht alle Workprozesse die vorgesehene Prozess-Endebehandlung vollständig durchlaufen haben, müssen Sie nach dem Beenden der Workprozesse den Mainprozess explizit beenden, indem Sie das zugehörige Fenster schließen oder den Prozess utmmain.exe mit dem Task-Manager beenden.

Nach dem Beenden der Anwendung müssen Sie den utmmain-Prozess beenden, z.B. indem Sie das Fenster schließen.

Eine ausführliche Beschreibung der Arbeitsschritte zum Starten finden Sie im openUTM-Handbuch „Einsatz von openUTM-Anwendungen auf Unix-, Linux- und Windows-Systemen“.

Verhalten bei Fehlern

Falls ein Workprozess einen PENDER-Dump erzeugt, wird dieser Workprozess beendet und Sie werden vom utmmain-Prozess mit der Meldung U244 aufgefordert, einen neuen Workprozess zu starten.
Dazu wiederholen Sie Schritt 2, ersetzen jedoch folgende Werte:

  • die Werte 0 für pid und id jeweils durch die in der Meldung U244 vorgegebenen Werte

  • den Wert Y durch Wert E