Beim Debugging von AIX-Anwendungen werden die folgenden Unterbrechungspunkttypen unterstützt:
werden ausgelöst, wenn die Zeile, in der sie definiert wurden, vor der Ausführung steht.
werden ausgelöst, wenn die Eingangspunkte,
für die sie gelten, erreicht werden.
werden ausgelöst, bevor die Disassemblierungsanweisung
an einer bestimmten Adresse ausgeführt wird.
werden ausgelöst, wenn durch die Ausführung Daten an einer bestimmten Adresse geändert werden.
werden ausgelöst, wenn eine DLL-Datei oder ein Objektmodul geladen wird.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
- oder sie können mithilfe eines Assistenten in der Sicht 'Unterbrechungspunkte' definiert werden
.
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).
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: