Probleme beim Starten und Stoppen des Debuggers lösen

Die Hinweise in diesem Abschnitt sollen Ihnen bei der Behebung von Problemen helfen, die häufig bei der Fehlersuche in Nachrichtenflüssen auftreten.

Der Endlosfortschrittsanzeiger 'waiting for communication' wird ausgegeben, wenn Sie den Debugger starten

Vorgehensweise

  • Szenario: Nachdem Sie auf Debugging startengeklickt haben, wird ein Fortschrittsanzeiger mit dem Titel "Warten auf Kommunikation" angezeigt, der sich endlos mit dem Zyklusfortschritt fortbewegen lässt. Im Informationsfenster wird die Nachricht 'debug session started' (Debug-Sitzung gestartet) nicht angezeigt.
  • Erläuterung: Wenn der Nachrichtenfluss Knoten mit ESQL-Anweisungen enthält, wird der Nachrichtenfluss möglicherweise nicht implementiert, auch wenn die Anweisungen syntaktisch korrekt sind.
    Der Grund dafür können beispielsweise mehrere Deklarationen oder nicht initialisierte Variablen sein (d. h. semantische Probleme, die der Parser nicht berücksichtigt).
    Überprüfen Sie immer das Protokoll IBM® App Connect Enterprise Toolkit Administration“, um sicherzustellen, dass die debugge Version Ihres Nachrichtenflusses erfolgreich bereitgestellt wurde. Diese hat denselben Namen wie der ursprüngliche Nachrichtenfluss, mit dem Suffix _debug_.

    Wenn der Nachrichtenfluss nicht richtig implementiert wird, kann der Debugger nicht mit dem Nachrichtenfluss kommunizieren, und der Endlosfortschrittsanzeiger wird angezeigt.

  • Lösung: Klicken Sie auf Abbrechen , um eine Bereinigung durchzuführen und zu einem einwandfreien Zustand zurückzukehren. Beheben Sie dann Ihre Fehler und versuchen Sie es erneut.
    Testen Sie zur Überprüfung, ob der Nachrichtenfluss ohne den Debugger Implementierungsvorgänge durchführen kann.

Der Debugger wird anscheinend gestoppt

Vorgehensweise

  • Szenario: Sie führen das Debugging für einen Nachrichtenfluss aus und fahren nach dem Auftreten eines Unterbrechungspunkts fort. Es scheint jedoch nichts zu passieren, und nach etwa einer Minute erscheint ein Fortschrittsanzeiger, der angibt, dass der Debugger auf eine Übertragung wartet.
  • Erläuterung: Diese Situation kann folgende Ursachen haben:
    • Der Nachrichtenfluss kann auf einen zeitintensiven Vorgang gestoßen sein, z. B. auf eine umfangreiche Datenbankabfrage, deren Beendigung Sie abwarten müssen.
    • Der Integrationsknoten wurde beendet, oder es trat eine andere außergewöhnliche Bedingung auf, und die Datenübertragung wurde getrennt. Klicken Sie in diesem Fall auf Abbrechen, um die Debugsitzung zu stoppen.

Beim Debugging wird die Sitzung abnormal beendet

Vorgehensweise

  • Szenario: Nach dem Debugging eines Nachrichtenflusses wird die Sitzung abnormal beendet und die Debuginstanz des Nachrichtenflusses (mf_debug_) ist weiterhin auf dem Integrationsserver des Integrationsknotens implementiert. Sie befürchten, dass dies Auswirkungen auf die Ausführung des Nachrichtenflusses haben kann und möchten für den Integrationsserver den ursprünglichen Zustand festlegen.
  • Erläuterung: Der verwaiste Nachrichtenfluss sollte sich wie der Nachrichtenfluss verhalten, und die Debugknoten haben keine Auswirkung auf die Nachrichtenverarbeitung.
    Wenn der Nachrichtenfluss wenige Knoten enthält, wirkt sich eine Fehlerberichtigung außer auf seinen Namen nicht erkennbar auf den Nachrichtenfluss aus. Bei einem umfangreichen Nachrichtenfluss (mit mehr als 15 Knoten oder mehreren untergeordneten Nachrichtenflüssen) ist jedoch die später in diesem Abschnitt erläuterte Korrekturmaßnahme anzuwenden, da es zu einer Beeinträchtigung der Nachrichtenverarbeitungsleistung kommen könnte.
  • Lösung: Implementieren Sie den Integrationsknoten erneut.

    Bei einer vollständigen erneuten Implementierung des Integrationsknotens müsste der verwaiste Nachrichtenfluss durch den ursprünglichen Nachrichtenfluss ersetzt werden. Wenn dies nicht geschieht, entfernen Sie den nicht zugeordneten Fluss vom Integrationsserver und führen Sie die Implementierung durch. Fügen Sie anschließend den Fluss hinzu, und implementieren Sie ihn, um den ursprünglichen Status des Integrationsknotens vor der Debugsitzung wiederherzustellen.

Es wird eine Fehlernachricht angezeigt, die besagt, dass die Debugsitzung nicht gestartet werden kann

Vorgehensweise

  • Szenario: Sie versuchen, eine neue Debugsitzung erneut zu starten oder aufzurufen, aber wenn Sie auf das grüne Symbol Debug Debug startenklicken, wird eine Fehlernachricht mit folgendem Inhalt angezeigt:Cannot launch this debug session.
  • Erläuterung: Wenn Sie auf Debug klicken, wird die letzte Debugsitzung erneut gestartet. Dies schlägt fehl, wenn Sie zuvor noch keine Debugsitzung erstellt haben. Es schlägt auch dann fehl, wenn der Integrationsknoten und der Integrationsserver, die zuvor einer Debugsitzung zugeordnet waren, nicht mehr aktiv sind oder erneut gestartet wurden. Die Sitzung kann nicht erneut zugeordnet werden, ohne erneut eine Prozessinstanz des Integrationsknotens und des Integrationsservers auszuwählen.
  • Lösung:
    1. Schließen Sie die Fehlernachricht und klicken Sie auf den Pfeil direkt rechts neben dem Symbol Debug .
    2. Wählen Sie den Integrationsknoten und den Integrationsserver aus der vorherigen Debugstartkonfiguration erneut aus oder ändern Sie sie, indem Sie im Menü auf Debug klicken und die vorherige Debugstartkonfiguration auswählen. Weitere Informationen finden Sie unter Nachrichtenflussdebugger zur Fehlerbehebung an einen Integrationsserver anhängen .

Beim Kopieren einer Nachrichtenzuordnung in eine Anwendung, eine Bibliothek oder ein -Integrationsprojekt werden Fehler generiert

Vorgehensweise

  • Szenario: Sie kopieren eine Nachrichtenzuordnung in eine Anwendung, eine Bibliothek oder ein Integrationsprojekt und in der Aufgabenliste sind Fehler aufgetreten.
  • Erläuterung: Für die Anwendung, Bibliothek oder das Integrationsprojekt wurden vor dem Kopieren der Nachrichtenzuordnung nicht die richtigen Referenzen festgelegt.
  • Lösung: Diese Fehler verbleiben in der Taskliste, auch wenn Sie die Projektverweise direkt nach dem Kopieren zurücksetzen. Daher müssen Sie einen bereinigten Build der Anwendung, Bibliothek oder des Integrationsprojektserstellen.