Befehl FIND

Der Befehl FIND bietet eine Funktion, mit der im Gesamtanzeige- und im Zeilenmodus im Quellenobjekt gesucht werden kann, sowie eine Funktion zum Suchen im Gesamtanzeigemodus im Protokoll und in Überwachungsobjekten.

Syntaxdiagramm lesenSyntaxdiagramm überspringenFINDstring*leftcolumnrightcolumn*FIRSTLASTNEXTPREVCURSORLOGMONITORSOURCE;
zeichenfolge
Die Zeichenfolge, die Sie suchen und die der Syntax für eine Zeichenfolgekonstante der momentan verwendeten Programmiersprache entspricht. Für die Zeichenfolge müssen die folgenden Einschränkungen beachtet werden:
  • Die Länge der Zeichenfolge darf maximal 128 Byte betragen.
  • Wenn die Zeichenfolge Leerzeichen enthält oder aus einem Stern (*), einem Fragezeichen (?) oder einem Semikolon (;) besteht, dann muss sie in Anführungszeichen (") oder Hochkommas (') eingeschlossen werden. Dabei sind die folgenden Regeln zu beachten:
    • Für C und C++ müssen Sie Anführungszeichen (") verwenden.
    • Für COBOL, LangX COBOL, Assembler, die Disassemblierung oder PL/I müssen Sie Anführungszeichen (") oder Hochkommas (') verwenden.
      Tabelle 1. Beispiele zur Angabe von Anführungszeichen (") und Hochkommas (') für Zeichenfolgen im Befehl FIND.
      C C++ COBOL oder LangX COBOL Assembler oder Disassemblierung PL/I
      "ABC" "IntLink::*" "A5" oder 'A5' 'ABC' oder "ABC" oder C'ABC' 'ABC' oder "ABC"
  • Wenn die Zeichenfolge ein Anführungszeichen (") oder Hochkomma (') enthält, dann müssen Sie ggf. die Zeichenfolge mit einer geraden Anzahl von Anführungszeichen oder Hochkommas (sog. Ausgleich) angeben. Mit den folgenden Regeln können Sie ermitteln, wie dieser Ausgleich in der Zeichenfolge erreicht werden kann:
    • Für PL/I - Wenn die Zeichenfolge ein Hochkomma enthält, dann müssen Sie sofort nach dem Hochkomma ein weiteres Hochkomma hinzufügen. Enthält die Zeichenfolge ein Leerzeichen, dann schließen Sie die gesamte Zeichenfolge in Hochkommas ein.
    • Für C und C++ - Wenn die Zeichenfolge ein Anführungszeichen enthält, dann müssen Sie sofort nach diesem Anführungszeichen ein weiteres Anführungszeichen hinzufügen. Enthält die Zeichenfolge ein Leerzeichen, dann schließen Sie die gesamte Zeichenfolge in Anführungszeichen ein.
    • Für Assembler, COBOL, LangX COBOL oder die Disassemblierung - Wenn die Zeichenfolge ein Hochkomma enthält und wenn sie durch Hochkommas begrenzt wird, dann müssen Sie ein Hochkomma direkt nach dem Hochkomma hinzufügen, das sich innerhalb der Zeichenfolge befindet. Wenn die Zeichenfolge ein Anführungszeichen enthält und durch Anführungszeichen begrenzt wird, dann müssen Sie ein Anführungszeichen direkt nach dem Anführungszeichen hinzufügen, das sich in der Zeichenfolge befindet. Wenn die Zeichenfolge ein Leerzeichen enthält, müssen Sie die Anführungszeichen nicht ausgleichen. Sie müssen jedoch die gesamte Zeichenfolge in Anführungszeichen oder Hochkommas einschließen.

Werden keine Operanden angegeben, wird eine Wiederholung des Befehls FIND ausgeführt. Die Wiederholung des Befehls FIND wird in den Hinweisen zur Verwendung und im Handbuch IBM® z/OS Debugger Benutzerhandbuch beschrieben.

*
Verwenden Sie die Zeichenfolge aus dem vorherigen Befehl FIND.
leftcolumn
Eine positive Ganzzahl, die die Spalte ganz links für die Suche angibt. Diese Funktion wird nur im Quellenfenster und im Zeilenmodus unterstützt. Im Protokollfenster und im Monitorfenster wird sie ignoriert. Werden die Angaben für rechte_spalte und * nicht definiert, dann muss die Zeichenfolge in der in linke_spalte angegebenen Spalte beginnen.
rightcolumn
Eine positive Ganzzahl, die die Spalte ganz rechts für die Suche angibt. Diese Funktion wird nur im Quellenfenster und im Zeilenmodus unterstützt. Im Protokollfenster und im Monitorfenster wird sie ignoriert.
*
Gibt an, dass die Länge jedes Quellendatensatzes als rechte Spalte für die Suche verwendet wird. Diese Funktion wird nur im Quellenfenster und im Zeilenmodus unterstützt. Im Protokollfenster und im Monitorfenster wird sie ignoriert.
FIRST
Startet am Anfang des Objekts und sucht in Vorwärtsrichtung nach dem ersten Vorkommen der Zeichenfolge.
LAST
Beginnt am Ende des Objekts und sucht in Rückwärtsrichtung nach dem letzten Vorkommen der Zeichenfolge.
NEXT
Beginnt bei der ersten Position nach der aktuellen Cursorposition und sucht in Vorwärtsrichtung, um das nächste Vorkommen der Zeichenfolge zu finden.
PREV
Beginnt bei der aktuellen Cursorposition und sucht in Rückwärtsrichtung nach dem vorherigen Vorkommen der Zeichenfolge.
CURSOR (Gesamtanzeigemodus)
Gibt an, dass die aktuelle Cursorposition das gesuchte Objekt auswählt.
LOG (Gesamtanzeigemodus)
Wählt das Objekt im Sitzungsprotokollfenster aus.
MONITOR (Gesamtanzeigemodus)
Wählt das Objekt im Monitorfenster aus.
SOURCE (Gesamtanzeigemodus)
Wählt das Objekt im Quellenlistenfenster aus.

Anmerkungen zur Syntax

  • Werden keine Operanden angegeben, wird eine Wiederholung des Befehls FIND ausgeführt. Bei der Wiederholung des Befehls FIND tritt das folgende Verhalten auf:
    • Die Zeichenfolge des vorherigen Befehls FIND, der von Ihnen eingegeben wurde, wird verwendet.
    • Wurde zuvor keine FIND-Zeichenfolge angegeben, zeigt z/OS Debugger eine Fehlernachricht an.
    • Wenn in dem zuvor von Ihnen eingegebenen Befehl FIND explizit oder implizit der Parameter FIRST oder NEXT angegeben wurde, dann verwendet z/OS Debugger den Parameter NEXT.
    • Wenn in dem zuvor von Ihnen eingegebenen Befehl FIND der Parameter LAST oder PREV angegeben wurde, dann verwendet z/OS Debugger den Parameter PREV.
    • Wenn in dem zuvor von Ihnen eingegebenen Befehl FIND der Parameter linke_spalte angegeben wurde, dann verwendet z/OS Debugger diesen Parameter linke_spalte.
    • Wenn in dem zuvor von Ihnen eingegebenen Befehl FIND der Parameter rechte_spalte angegeben wurde, dann verwendet z/OS Debugger diesen Parameter rechte_spalte.
    • Folgt die Wiederholung des Befehls FIND direkt auf einen fehlgeschlagenen Befehl FIND oder einen wiederholten Befehl FIND, dann setzt z/OS Debugger die Suche fort, wobei ein Umlauf von der letzten Zeile zur ersten Zeile durchgeführt wird. Wurde der Befehl FIND ursprünglich in Rückwärtsrichtung zum Anfang des Objekts ausgeführt, dann führt z/OS Debugger den Umlauf von der ersten zur letzten Zeile durch.
    • Befindet sich der Cursor nicht in einem Fenster, dann verwendet z/OS Debugger dasselbe Fenster, das auch für den vorherigen Befehl FIND verwendet wurde.
  • Im Gesamtanzeigemodus wählt z/OS Debugger das zu durchsuchende Fenster wie folgt aus:
    • Wenn Sie eine Zeichenfolge angeben und den Cursor nicht in einem Fenster positionieren und im Befehl auch kein Objekt angeben, dann sucht z/OS Debugger das Objekt in dem Fenster, das im Befehl SET DEFAULT WINDOW oder im Eintrag für standardfenster in der Anzeige für die Profileinstellungen angegeben wurde.
    • Wenn Sie den Cursor in einem Fenster positionieren und im Befehl kein anderes Fenster angeben, dann sucht z/OS Debugger das Objekt in dem Fenster, in dem sich der Cursor befindet.
  • Wenn Sie eine Zeichenfolge ohne ein Schlüsselwort für die Richtung angeben, dann ist die Vorwärtsrichtung die Standardeinstellung.
  • FIND kann im Gesamtanzeigemodus sofort wirksam gemacht werden, indem der Befehl IMMEDIATE eingegeben wird.
  • Wenn als aktuelle Programmiersprache C oder C++ eingestellt ist, dann muss bei der Suche die Groß-/Kleinschreibung beachtet werden. Andernfalls muss bei der Suche die Groß-/Kleinschreibung nicht beachtet werden.
  • Im Gesamtanzeigemodus zeigt das System bei Suchoperationen das folgende Verhalten:
    • Wenn Sie FIRST angeben, dann beginnt die Suche am Anfang der ersten Zeile des Objekts.
    • Wenn Sie LAST angeben, dann beginnt die Suche am Ende der letzten Zeile des Objekts.
    • Wenn Sie NEXT angeben oder der Befehl standardmäßig NEXT verwendet, während sich der Cursor in dem Fenster für das zu suchende Objekt befindet, dann beginnt die Suche bei der ersten Position nach der aktuellen Cursorposition.
    • Wenn Sie NEXT angeben oder der Befehl standardmäßig NEXT verwendet, während sich der Cursor außerhalb des Fensters für das zu suchende Objekt befindet, dann beginnt die Suche am Anfang der ersten Zeile, die im Fenster angezeigt wird.
    • Wenn Sie PREV angeben oder der Befehl standardmäßig PREV verwendet, während sich der Cursor in dem Fenster für das zu suchende Objekt befindet, dann beginnt die Suche bei der aktuellen Cursorposition.
    • Wenn Sie PREV angeben oder der Befehl standardmäßig PREV verwendet, während sich der Cursor außerhalb des Fensters für das zu suchende Objekt befindet, dann beginnt die Suche am Ende der Zeile, die vor der ersten Zeile liegt, die im Fenster des zu suchenden Objekts angezeigt wird. Wenn der Anfang des Objekts angezeigt wird, dann führt z/OS Debugger einen Umlauf zum Ende des Objekts durch und setzt die Verarbeitung ab dem Ende der letzten Zeile im Objekt fort.
    • Wenn z/OS Debugger die Zeichenfolge findet, dann wird das Fenster für das zu suchende Objekt so lange verschoben, bis die Zeichenfolge sichtbar wird. Wurde die Zeichenfolge in DBCS angegeben, dann wird sie ohne Änderungen angezeigt. Wenn es sich nicht um eine DBCS-Zeichenfolge handelt, dann wird diese Zeichenfolge als mit dem Befehl SET COLOR angegeben hervorgehoben und der Cursor wird am Anfang der Zeichenfolge platziert. Die hervorgehobene Zeichenfolge kann nicht überschrieben werden. Muss die Zeichenfolge überschrieben werden, dann müssen Sie die Eingabetaste drücken und den Cursor an der Stelle positionieren, an der Sie die Eingabe vornehmen möchten, und die Überschreibung dann durchführen.
    • Wenn z/OS Debugger die Zeichenfolge nicht findet, dann wird die Anzeige nicht geändert und der Cursor wird nicht bewegt. Wenn Sie NEXT oder PREV angegeben haben oder wenn der Befehl standardmäßig NEXT oder PREV verwendet und z/OS Debugger nur einen Teil des Objekts durchsucht hat, dann zeigt z/OS Debugger eine Nachricht an, in der Sie darüber informiert werden, dass das Ende bzw. der Anfang der Daten erreicht wurde. Wenn z/OS Debugger das gesamte Objekt durchsucht hat, dann wird eine Nachricht angezeigt, in der Sie darüber informiert werden, dass das Suchziel nicht gefunden wurde.
  • Im Zeilenmodus zeigt das System bei Suchoperationen das folgende Verhalten:
    • Wenn Sie FIRST angeben, dann beginnt die Suche am Anfang der ersten Zeile der Quelle.
    • Wenn Sie LAST angeben, dann beginnt die Suche am Ende der letzten Zeile der Quelle.
    • Wenn Sie NEXT angeben oder der Befehl standardmäßig NEXT verwendet, dann beginnt z/OS Debugger mit der Suche beim ersten Zeichen der ersten Zeile der Quelle oder, falls zuvor bereits ein Befehl FIND in derselben Kompilierungseinheit ausgeführt wurde, an der Position nach der letzten Zeichenfolge, die von einem Befehl FIND gefunden wurde.
    • Wenn Sie PREV angeben oder der Befehl standardmäßig PREV verwendet, dann beginnt z/OS Debugger mit der Suche beim letzten Zeichen der letzten Zeile der Quelle oder, falls zuvor bereits ein Befehl FIND in derselben Kompilierungseinheit ausgeführt wurde, an der Position vor der letzten Zeichenfolge, die von einem Befehl FIND gefunden wurde.
    • Wenn Sie NEXT oder PREV angegeben haben oder wenn der Befehl standardmäßig NEXT oder PREV verwendet und z/OS Debugger nur einen Teil der Quelle durchsucht hat und die Zeichenfolge nicht gefunden hat, dann zeigt z/OS Debugger eine Nachricht an, in der Sie darüber informiert werden, dass das Ende bzw. der Anfang der Daten erreicht wurde. Wenn z/OS Debugger die gesamte Quelle durchsucht hat, ohne die Zeichenfolge zu finden, wird eine Nachricht angezeigt, in der Sie darüber informiert werden, dass das Suchziel nicht gefunden werden konnte.
    • Wenn z/OS Debugger die Zeichenfolge findet, dann wird die Zeile, in der die Zeichenfolge enthalten ist, angezeigt und mit einem vertikalen Strich (|) unter der Zeichenfolge markiert.
  • Die Suche im Quellenfenster und im Zeilenmodus kann auf bestimmte Spalten beschränkt werden. Wählen Sie dazu eine der folgenden Methoden aus:
    • Wenn Sie ein Spaltennummernpaar eingeben, das die erste und die letzte zu durchsuchende Spalte angibt, dann wird die Zeichenfolge gefunden, wenn sie vollständig in dem angegebenen Spaltenbereich enthalten ist.
    • Wenn eine einzelne Spalte angegeben wird, muss die Zeichenfolge in der angegebenen Spalte beginnen.
    • Wenn die zweite angegebene Spalte die Datensatzgröße überschreitet, dann wird die Datensatzgröße verwendet.
    • Wenn die Spalten nicht angegeben werden, dann werden standardmäßig die im Befehl SET FIND BOUNDS angegebenen Spalten durchsucht. Wurde der Befehl SET FIND BOUNDS nicht eingegeben, dann wird für die Spalten standardmäßig '1 *' verwendet.

    Die Spaltenausrichtung der Quelle stimmt möglicherweise nicht mit dem ursprünglichen Quellencode überein. Die Angaben für linke_spalte und rechte_spalte beziehen sich auf die Skala im Quellenfenster und nicht auf die ursprüngliche Quelle.

  • Die Gesamtanzeigeversion des Befehls FIND wird nicht protokolliert. Im Zeilenmodus wird der Befehl FIND allerdings protokolliert.
  • Wenn Sie beim Ausführen des Debuggers für C- oder C++-Code nach Zeichenfolgen mit Trigraphen suchen, dann können die Trigraphen oder ihre Entsprechungen als Eingabe verwendet werden und z/OS Debugger gleicht sie mit Trigraphen oder deren Entsprechungen ab. Eine Ausnahme stellt der Fall dar, dass Spaltenspezifikationen ungleich '1 *' in FIND oder SET FIND BOUNDS nicht zulässig sind, wenn Sie den Quellencode durchsuchen und Trigraphen finden.
  • Wenn Sie eine Suche im Monitorfenster durchführen und der Befehl SET MONITOR WRAP OFF wirksam ist, dann durchsucht z/OS Debugger alle Daten, in denen geblättert wurde.
  • Im Speicherfenster ist die Verwendung des Befehls FIND nicht zulässig.

Beispiele

  • Angeben einer Suche im Monitorfenster nach dem Namen myvar.
    FIND myvar MONITOR;
  • Wenn Sie das Quellenfenster nach dem nächsten Vorkommen von var1 durchsuchen wollen, dann geben Sie Folgendes ein:
    FIND
    Sie müssen den Variablennamen nicht angeben, weil z/OS Debugger die zuletzt von Ihnen gesuchte Zeichenfolge speichert. Auch in diesem Fall wird im Quellenfenster vorwärts geblättert, var1 wird hervorgehoben und der Cursor verweist auf die Variable.
  • Wenn Sie ein Fragezeichen (?) im Quellenfenster suchen möchten und momentan den Debugger für ein PL/I-Programm ausführen, dann geben Sie den folgenden Befehl ein:
    FIND '?' ;
  • Wenn Sie die Zeichenfolge User's im Quellenfenster suchen möchten und momentan den Debugger für ein PL/I-Programm ausführen, dann geben Sie den folgenden Befehl ein:
    FIND User''s ;
  • Wenn Sie die Zeichenfolge User's im Quellenfenster suchen möchten und momentan den Debugger für ein C-Programm ausführen, dann geben Sie den folgenden Befehl ein:
    FIND User's ;
  • Wenn Sie die Zeichenfolge User's Guide im Quellenfenster suchen möchten und momentan den Debugger für ein PL/I-Programm ausführen, dann geben Sie den folgenden Befehl ein:
    FIND 'User''s Guide' ;
  • Wenn Sie die Zeichenfolge User's Guide im Quellenfenster suchen möchten und momentan den Debugger für ein C-Programm ausführen, dann geben Sie den folgenden Befehl ein:
    FIND "User's Guide" ;
  • Wenn Sie den Befehl FIND xyz LAST; oder FIND xyz PREV; eingegeben haben und sich der Cursor auf der gefundenen Zeichenfolge ("xyz") befindet, drücken Sie die Funktionstaste, die dem Befehl FIND zugeordnet ist, um die Suche zu wiederholen. z/OS Debugger führt den Befehl FIND xyz PREV; aus.
  • Wenn Sie den Befehl FIND xyz; eingegeben haben, dann führt z/OS Debugger die Suche in Vorwärtsrichtung durch. Um die Zeichenfolge "xyz" in Rückwärtsrichtung zu suchen, müssen Sie den Befehl FIND * PREV; eingeben.
  • Wenn Sie eine COBOL-Absatzdefinition mit dem Namen paraa suchen wollen, die in Spalte 8 im COBOL-Bereich A beginnt, dann geben Sie den folgenden Befehl ein:
    FIND paraa 8 ;
  • Wenn Sie eine Referenz auf einen COBOL-Absatz mit dem Namen paraa im COBOL-Bereich B suchen wollen, geben Sie die folgenden Befehle ein:
    • FIND paraa 12 72;
    • SET FIND BOUNDS 12 72;
      FIND paraa;