Fehler beim Debug von Nachrichtenflüssen beheben
Dieses Thema enthält Lösungsvorschläge für einige der üblichen Probleme, die beim Debuggen von Nachrichtenflüssen auftreten können.
Der Debugger wird beim nächsten Unterbrechungspunkt nicht angehalten
- Szenario: Der Message-Flow-Debugger wird beim nächsten Unterbrechungspunkt in Ihrem Nachrichtenfluss nicht angehalten.
- Lösung: Gehen Sie folgendermaßen vor:
- Überprüfen Sie, ob Ihre Steuerkomponente für den Datenfluss (DataFlowEngine) aktiv ist. Ist dies nicht der Fall, starten Sie sie erneut.
- Überprüfen Sie die Eingabewarteschlange. Wenn Ihre Eingabewarteschlange die von der letzten Verwendung des Debuggers übrig gebliebenen Nachrichten enthält, müssen Sie diese löschen, bevor Sie eine neue Nachricht senden.
Die Ausführung einer Nachricht wird an einem Unterbrechungspunkt nicht gestoppt
- Szenario: Nach dem Anhängen an den Debugger wird die Ausführung einer Nachricht an einem Unterbrechungspunkt nicht gestoppt.
- Erläuterung: Dieser Fehler ist unter Umständen auf einen zeitlichen Ablauffehler zurückzuführen oder auf ein falsches Einstellen der Parameter für eine Debugsitzung.
- Lösung: Gehen Sie folgendermaßen vor:
- Überprüfen Sie die Einstellungen Ihrer Startkonfiguration und stellen Sie dabei sicher, dass Sie das richtige Nachrichtenflussprojekt, den richtigen Hostnamen und die richtige Nachrichtenflussengine für die Debugsitzung angegeben haben.
- Starten Sie die Debugsitzung erneut.
Im Nachrichtenfluss-Editor treten Editierprobleme auf
- Szenario: Es treten Editierprobleme auf, wenn Sie den Nachrichtenfluss-Editor verwenden, während Sie Fehler in einem Nachrichtenfluss beheben.
- Lösung: Bearbeiten Sie keine Nachrichten, während der Flow-Debugger angehängt ist. Wenn Sie einen Nachrichtenfluss bearbeiten müssen, heben Sie die Verbindung zum Debugger auf, bearbeiten Sie den Nachrichtenfluss und implementieren Sie den Nachrichtenfluss anschließend erneut.
Editieren des MQ Nachrichtendeskriptors (MQMD) führt zu unerwartetem Verhalten im Debugger
- Szenario: Sie bearbeiten Eigenschaften des Nachrichtendeskriptors (MQMD) im Nachrichtensatzeditor, was jedoch zu unerwartetem Verhalten beim Debugger führt.
- Erläuterung: Wenn Sie den Inhalt des MQMD-Descriptors bearbeiten, nehmen diese Felder einen bestimmten Wertbereich an. Sie müssen diese Bereiche kennen, bevor Sie die Eigenschaften bearbeiten. Wenn Sie nicht explizit den Wert dieser Felder angeben, nehmen sie Standardwerte an und gewisse Felder wurden in der Nachricht möglicherweise nicht angegeben. Die Werte in den Feldern, die in der Nachricht nicht explizit festgelegt wurden, sind Standardwerte. Ändern Sie diese Werte nur, wenn sie ihre Bedeutung oder den möglichen Wertbereich kennen.
Bei der Fehlerbehebung in Ihrem Nachrichtenfluss können Sie den Nachrichteninhalt nicht sehen
- Szenario: Sie verwenden den Debugger für Nachrichtenflüsse und können sehen, wie die Nachricht im Nachrichtenfluss übergeben wird, Sie können jedoch den Inhalt der Nachricht nicht sehen.
- Lösung: Öffnen Sie die Ansicht 'Flussdebugnachricht'. Dazu klicken Sie auf und anschließend klicken Sie auf OK.
Während des Debugvorgangs wird über einem Knoten ein Ausrufezeichen angezeigt
- Szenario: Im Nachrichtenflusseditor wird während des Debugvorgangs ein
Ausrufezeichen (!) über einem Knoten angezeigt.
- Erläuterung: Während des Debugvorgangs ist eine Ausnahmebedingung im
Knoten aufgetreten.
- Lösung: Suchen Sie in der Ansicht Variablen von
Ansicht 'Debug' unter 'ExceptionList' nach einer
Fehlernachricht, die den aufgetretenen Fehler beschreibt.
Die Verarbeitung einer Nachricht wird an einem Unterbrechungspunkt nicht gestoppt
- Szenario: Die Nachrichtenverarbeitung wird fortgesetzt, wenn ein Unterbrechungspunkt auftritt.
- Erläuterung: Dieser Fehler ist unter Umständen auf einen zeitlichen Ablauffehler zurückzuführen oder auf ein falsches Einstellen der Parameter für eine Debugsitzung.
- Lösung: Überprüfen Sie die Einstellungen Ihrer Startkonfiguration.
Stellen Sie sicher, dass Sie das richtige Nachrichtenflussprojekt, den richtigen Hostnamen und die richtige Nachrichtenflussengine für die Debugsitzung angegeben haben. Starten Sie die Debugsitzung erneut.
Sie können nicht sehen, wo sich der Debugger im Editor für grafische Datenzuordnungen befindet
- Szenario: Der Editor für die grafische Datenzuordnung wurde im Toolkit geöffnet, es ist jedoch unklar, wo sich der Debugger in der Zuordnung befindet.
- Erläuterung: Der Quellensuchpfad für die Nachrichtenzuordnungsdatei wurde nicht ordnungsgemäß konfiguriert.
- Lösung: Überprüfen Sie Ihre Debug-Startkonfigurationseinstellungen und stellen Sie sicher, dass Sie den Quellensuchpfad für die Nachrichtenzuordnungsdatei ordnungsgemäß konfiguriert haben.
Beim Debugging einer Nachrichtenzuordnung wechselt der Debugger nicht zum nächsten Feld
- Szenario: Sie beheben Fehler in einer Nachrichtenzuordnung und der Debugger wechselt nicht zum nächsten Feld. Sie müssen mehrmals auf die Schaltfläche Step over (Überspringen) klicken.
- Erläuterung: Der Quellensuchpfad für die Nachrichtenzuordnungsdatei wurde nicht ordnungsgemäß konfiguriert.
- Lösung: Überprüfen Sie Ihre Debug-Startkonfigurationseinstellungen und stellen Sie sicher, dass Sie den Quellensuchpfad für die Nachrichtenzuordnungsdatei ordnungsgemäß konfiguriert haben.
Beim Debugging einer Nachrichtenzuordnung bewegt sich der Debugger nicht aus dem Mapping-Knoten heraus
- Szenario: Sie beheben Fehler in einer Nachrichtenzuordnung und der Debugger bewegt sich nicht aus der Nachrichtenzuordnung heraus.
- Erläuterung: Der Quellensuchpfad für die Nachrichtenzuordnungsdatei wurde nicht ordnungsgemäß konfiguriert.
- Lösung: Überprüfen Sie Ihre Debug-Startkonfigurationseinstellungen und stellen Sie sicher, dass Sie den Quellensuchpfad für die Nachrichtenzuordnungsdatei ordnungsgemäß konfiguriert haben.
Der Nachrichtenfluss stoppt an einem Collector-Knoten
- Szenario: Die Nachrichtenverarbeitung stoppt, nachdem das Symbol
'Step into Source Code' (Zum Quellcode springen) auf einem Collector-Knoten ausgewählt wurde.
- Erläuterung: Der Collector-Knoten ist ein Multithread-Knoten und der Thread wird durch die Auswahl von 'Step into Source Code' (Zum Quellcode springen) beendet.
- Lösung: Setzen Sie manuell einen Unterbrechungspunkt hinter dem Collector-Knoten.