Unterbrechungspunkte verwenden

Unterbrechungspunkte sind temporäre Marken, die Sie in Ihr ausführbares Programm einfügen, damit der Debugger Ihr Programm an einem bestimmten Punkt stoppt. Wenn ein Unterbrechungspunkt gefunden wird, wird die Ausführung bei ihm ausgesetzt, bevor die Zeile ausgeführt wird, damit Sie den Stack des Threads anschauen und den Inhalt von Variablen, Registern und Speicher prüfen können.

Informationen zu diesem Vorgang

Beim Debugging von AIX-Anwendungen werden die folgenden Unterbrechungspunkttypen unterstützt:

Die Definition von Ereignisunterbrechungspunkten erfolgt in der Sicht 'Unterbrechungspunkte' durch Klicken auf die Schaltfläche Ereignisunterbrechungspunkte für Compilersprachen verwalten und anschließendes Auswählen des Ereignistyps, den der Debugger abfangen soll, im Dialogfenster 'Ereignisunterbrechungspunkte verwalten'. Diese Unterbrechungspunkte schließen alle Standardsignale und eine Reihe von möglicherweise interessanten Ereignissen ein, wie zum Beispiel C++-Ausnahmebedingungen und Aufrufe von Bibliotheksfunktionen wie exit(). Bei POSIX-Signalen können Sie wählen, ob Sie über alle Vorkommen jedes einzelnen Signals informiert werden möchten (behandelte Signale) oder nur über die Vorkommen, für die kein Handler bereitgestellt wurde (nicht behandelte Signale).

Zeilenunterbrechungspunkte können im Editor durch Doppelklicken im Skalenbereich links von einer ausführbaren Zeile oder im Quelleneditor durch Auswahl einer Aktion in einem Popup-Menü, das durch Anklicken mit der rechten Maustaste aufgerufenen wird, definiert werden Symbol für Quellenzeilenunterbrechungspunkt - oder sie können mithilfe eines Assistenten in der Sicht 'Unterbrechungspunkte' definiert werden Symbol für generischen Unterbrechungspunkt. Wenn Sie einen threadspezifischen Zeilenunterbrechungspunkt wünschen, müssen Sie ihn während einer aktiven Debugsitzung in der Sicht 'Unterbrechungspunkte' definieren. Eingangsunterbrechungspunkte können in der Sicht 'Module' durch Anklicken eines Eingangspunkts mit der rechten Maustaste und Auswählen von Eingangsunterbrechungspunkt definieren im Popup-Menü definiert werden - oder sie können mithilfe eines Assistenten in der Sicht 'Unterbrechungspunkte' definiert werden. Außerdem können Sie mit der rechten Maustaste das Debugziel (oder einen seiner Threads oder Stack-Frames) in der Sicht 'Debug' anklicken und Optionen > Bei allen Funktionseinträgen stoppen im Popup-Menü auswählen, um an allen Eingangspunkten zu stoppen. (Diese Option steht auch im Popup-Menü in der Sicht 'Unterbrechungspunkte' zur Verfügung.) Alle anderen Unterbrechungspunkttypen werden über einen Assistenten in der Sicht 'Unterbrechungspunkte' definiert. Um auf die Assistenten zum Definieren von Unterbrechungspunkten zuzugreifen, klicken Sie mit der rechten Maustaste in der Sicht 'Unterbrechungspunkte' und wählen Sie Unterbrechungspunkt hinzufügen im Popup-Menü aus. Dadurch wird ein Menü eingeblendet, in dem Sie den zu definierenden Unterbrechungspunkttyp auswählen können. Wenn Sie den Assistenten zum Definieren eines Unterbrechungspunkts verwenden, können Sie optionale Unterbrechungspunktparameter angeben und bedingte Unterbrechungspunkte definieren (siehe den zugehörigen Abschnitt).

Anmerkung:
  • Überwachungsunterbrechungspunkte können durch Eingabe eines Variablennamens im Assistenten hinzugefügt werden. Die Variable kann 1, 2, 4 oder 8 Byte lang sein. Überwachungsunterbrechungspunkte mit einer Länge von 2, 4 oder 8 Byte müssen an 2-, 4- bzw. 8-Bytegrenzen ausgerichtet werden. Bei einem Unterbrechungspunkt mit dem Wert automatisch wird die zu überwachende Größe von der Größe der Variablen bestimmt. Die aktuelle Power-Hardware erlaubt nur einen einzigen Überwachungspunkt (ältere Hardware erlaubt möglicherweise überhaupt keine Überwachungsunterbrechungspunkte - wenn sie vom Zielsystem nicht unterstützt werden, wird die Aktion nicht angezeigt).
  • Wenn Sie Version 11.1 oder eine spätere Version der Debugsteuerkomponente verwenden, verfügen Sie über eine erweiterte Version des Assistenten für Eingangsunterbrechungspunkte. Der Assistent zeigt jetzt eine Liste aller debugfähigen Eingangspunkte an. Sie können die Auswahlliste eingrenzen, indem Sie den Eingangspunktnamen im Textfeld eingeben.

In der Sicht 'Unterbrechungspunkte' wird eine Liste aller Unterbrechungspunkte (für alle Debugsitzungen) angezeigt, es sei denn Sie verwenden die Aktion zum Filtern nach Debugziel oder verlinken die Sicht 'Unterbrechungspunkte' mit der Sicht 'Debug'. Wenn Unterbrechungspunkte, die nicht mit der aktuellen Debugsitzung in Verbindung stehen, nicht angezeigt werden sollen, klicken Sie in der Sicht 'Unterbrechungspunkte' auf die Schaltfläche Vom ausgewählten Ziel unterstützte Unterbrechungspunkte anzeigen. Wenn Sie die Sicht 'Unterbrechungspunkte' mit der Sicht 'Debug' verlinken möchten, klicken Sie auf die Umschaltfläche Mit Sicht 'Debug' verlinken. Wenn diese Umschaltfläche ausgewählt wurde und ein Unterbrechungspunkt eine Debugsitzung aussetzt, wird dieser Unterbrechungspunkt automatisch in der Sicht 'Unterbrechungspunkte' ausgewählt.

Um die Darstellung übersichtlicher zu gestalten, können Sie Unterbrechungspunkte in der Sicht 'Unterbrechungspunkte' auch gruppieren. Die Gruppierung kann erfolgen nach Unterbrechungspunkten (die standardmäßige Unterbrechungspunktliste), Unterbrechungspunkttypen (zum Beispiel gruppiert nach Zeilen- und Eingangsunterbrechungspunkten) und Unterbrechungspunktarbeitssets (Gruppen, die Sie selbst definieren). Wählen Sie zum Gruppieren von Unterbrechungspunkten in der Sicht 'Unterbrechungspunkte' zunächst das Symbol mit dem Abwärtspfeil und dann die für die Sicht 'Unterbrechungspunkte' gewünschte Gruppierung aus. Wenn Sie in diesem Menü Erweitert anklicken, wird ein Dialogfenster geöffnet, in dem Sie verschachtelte Gruppierungen erstellen können. Wählen Sie zum Erstellen von Arbeitssets Arbeitssets in dem Menü aus, das nach dem Auswählen des Symbols mit dem Abwärtspfeil in der Sicht 'Unterbrechungspunkte' angezeigt wird.

In den Unterbrechungspunkteinträgen in der Liste wird in Klammern jeweils eine Zusammenfassung der Eigenschaften des Unterbrechungspunkts angezeigt. Über Popup-Menüoptionen können Sie Unterbrechungspunkte hinzufügen, löschen und aktivieren oder inaktivieren. Ebenfalls über eine Popup-Menüoption können Sie die Eigenschaften von Unterbrechungspunkten bearbeiten. Über Schaltflächen in der Sicht 'Unterbrechungspunkte' können Sie Unterbrechungspunkte löschen.

Wenn Sie einen Unterbrechungspunkt bearbeiten möchten, wird der Assistent geöffnet, mit dem er erstellt wurde. (Wenn Sie den Unterbrechungspunkt nicht mit einem Assistenten erstellt haben, wird der Assistent für den Unterbrechungspunkttyp geöffnet.) In dem Assistenten können Sie Nächste > oder < Zurück anklicken, um die Unterbrechungspunkteinstellungen im Assistenten anzuzeigen oder zu bearbeiten. Klicken Sie danach auf Fertig stellen, um den Unterbrechungspunkt zu ändern, oder auf Abbrechen, um den Assistenten ohne Änderungen zu verlassen.

Das Aktivieren oder Inaktivieren von Unterbrechungspunkten kann über Popup-Menüs in der Sicht 'Unterbrechungspunkte' oder im Editor sowie ein Kontrollkästchen in der Sicht 'Unterbrechungspunkte' erfolgen. Informationen über das Aktivieren und Inaktivieren von Unterbrechungspunkten enthält der zugehörige Abschnitt.

In der Sicht 'Unterbrechungspunkte' befinden sich links neben einem definierten Unterbrechungspunkt zwei Anzeiger (). Ganz links befindet sich ein Kontrollkästchen, das anzeigt, ob der Unterbrechungspunkt aktiviert ist. Wenn der Unterbrechungspunkt aktiviert ist, enthält das Kontrollkästchen eine Markierung (Pfeil A. im folgenden Diagramm). Wenn er inaktiviert ist, enthält das Kontrollkästchen keine Markierung (Pfeil B. im folgenden Diagramm):

Rechts daneben markiert ein Anzeiger mit einer Markierungsschablone alle Unterbrechungspunkte, die erfolgreich von der Debugsteuerkomponente installiert wurden. (Wenn der Unterbrechungspunkt aktiviert ist, ist dieser Anzeiger gefüllt - wenn der Unterbrechungspunkt inaktiviert ist, ist der Anzeiger nicht gefüllt.) Im Editor werden Zeilenunterbrechungspunkte durch einen Anzeiger mit einer Markierungsschablone markiert, wenn der Unterbrechungspunkt erfolgreich von der Debugsteuerkomponente installiert wurde. (Wenn der Unterbrechungspunkt aktiviert ist, ist dieser Anzeiger gefüllt - wenn der Unterbrechungspunkt inaktiviert ist, ist der Anzeiger nicht gefüllt.)

Unterbrechungspunkte müssen installiert worden sein, bevor sie die Ausführung aussetzen können. Es können Unterbrechungspunkte hinzugefügt werden, die für die aktuelle Debugsitzung nicht gültig sind. Diese Unterbrechungspunkte werden erst installiert, wenn sie Teil einer Debugsitzung sind, an der eine Debugsteuerkomponente beteiligt ist, die den Unterbrechungspunkt erkennt.

Im Editor werden Zeilen- und Eingangsunterbrechungspunktanzeiger in der Markierungsleiste links vom Editor angezeigt. Anzeiger für Zeilen-, Eingangs-, Adress-, Überwachungs- und Ladeunterbrechungspunkte werden in der Sicht 'Unterbrechungspunkte' angezeigt.

In der Sicht 'Unterbrechungspunkte' wird der Quelleneditor an der Position eines Unterbrechungspunkts geöffnet, wenn Sie eine der folgenden Maßnahmen durchführen:

Ergebnisse


Rückmeldung