Documentation Home
> Handbuch zur dynamischen Ablaufverfolgung in Solaris
Handbuch zur dynamischen Ablaufverfolgung in Solaris
Book Information
Index
Zahlen und Symbole
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
Z
Vorwort
Kapitel 1 Einführung
Erste Schritte
Provider und Prüfpunkte
Kompilierung und Instrumentation
Variablen und arithmetische Ausdrücke
Prädikate
Formatierung der Ausgabe
Vektoren
Externe Symbole und Typen
Kapitel 2 Typen, Operatoren und Ausdrücke
Bezeichnernamen und Schlüsselwörter
Datentypen und -größen
Konstanten
Arithmetische Operatoren
Relationale Operatoren
Logische Operatoren
Bitweise Operatoren
Zuweisungsoperatoren
Inkrement- und Dekrement-Operatoren
Bedingte Ausdrücke
Typumwandlungen
Rangfolge
Kapitel 3 Variablen
Skalare Variablen
Assoziative Vektoren
Thread-lokale Variablen
Klausel-lokale Variablen
Integrierte Variablen
Externe Variablen
Kapitel 4 D-Programmstruktur
Prüfpunktklauseln und Deklarationen
Prüfpunktbeschreibungen
Prädikate
Aktionen
Einsatz des C-Preprozessors
Kapitel 5 Zeiger und Vektoren
Zeiger und Adressen
Zeigersicherheit
Vektordeklarationen und Speicherung
Beziehung zwischen Zeigern und Vektoren
Zeigerarithmetik
Unspezifische Zeiger
Mehrdimensionale Vektoren
Zeiger auf DTrace-Objekte
Zeiger und Adressräume
Kapitel 6 Zeichenketten
Zeichenkettendarstellung
Konstante Zeichenketten
Zeichenkettenzuweisung
Zeichenkettenumwandlung
Zeichenkettenvergleich
Kapitel 7 Strukturen und Unionen
Strukturen
Zeiger auf Strukturen
Unionen
Komponentengrößen und Versatz
Bit-Felder
Kapitel 8 Typ- und Konstantendefinitionen
Typedef
Aufzählungen
Inline
Namensräume für Typen
Kapitel 9 Aggregate
Aggregatfunktionen
Aggregate
Anzeige von Aggregaten
Datennormalisierung
Löschen von Aggregaten
Abschneiden von Aggregaten
Minimieren von Auslassungen
Kapitel 10 Aktionen und Subroutinen
Aktionen
Standardaktion
Daten aufzeichnende Aktionen
trace()
tracemem()
printf()
printa()
stack()
ustack()
jstack()
Destruktive Aktionen
Prozessdestruktive Aktionen
stop()
raise()
copyout()
copyoutstr()
system()
Kerneldestruktive Aktionen
breakpoint()
panic()
chill()
Besondere Aktionen
Spekulative Aktionen
exit()
Subroutinen
alloca()
basename()
bcopy()
cleanpath()
copyin()
copyinstr()
copyinto()
dirname()
msgdsize()
msgsize()
mutex_owned()
mutex_owner()
mutex_type_adaptive()
progenyof()
rand()
rw_iswriter()
rw_write_held()
speculation()
strjoin()
strlen()
Kapitel 11 Puffer und Pufferung
Hauptpuffer
Richtlinien für den Hauptpuffer
Die Richtlinie switch
Die Richtlinie fill
Die Richtlinie fill und END-Prüfpunkte
Die Richtlinie ring
Sonstige Puffer
Puffergrößen
Richtlinie für die Änderung der Puffergröße
Kapitel 12 Formatierung der Ausgabe
printf()
Umwandlungsangaben
Flags
Kennungen für Breite und Genauigkeit
Größenpräfixe
Umwandlungsformate
printa()
Standardformat von trace()
Kapitel 13 Spekulative Ablaufverfolgung
Schnittstellen für die Spekulation
Erzeugen von Spekulationen
Arbeiten mit Spekulationen
Übergeben von Spekulationen
Verwerfen von Spekulationen
Beispiel für eine Spekulation
Spekulationsoptionen und Abstimmung
Kapitel 14 Das Dienstprogramm dtrace(1M)
Beschreibung
Optionen
Operanden
Beendigungsstatus
Kapitel 15 Scripting
Interpreterdateien
Makrovariablen
Makroargumente
ID des Zielprozesses
Kapitel 16 Optionen und Tunables
Verbraucheroptionen
Modifizieren von Optionen
Kapitel 17 Der Provider dtrace
Der Prüfpunkt BEGIN
Der Prüfpunkt END
Der Prüfpunkt ERROR
Stabilität
Kapitel 18 Der Provider lockstat
Überblick
Prüfpunkte für adaptive Sperren
Spinlock-Prüfpunkte
Threadsperren
Prüfpunkte für Leser/Schreiber-Sperren
Stabilität
Kapitel 19 Der Provider profile
profile-n-Prüfpunkte
tick-n-Prüfpunkte
Argumente
Timerauflösung
Prüfpunkterzeugung
Stabilität
Kapitel 20 Der Provider fbt
Prüfpunkte
Prüfpunktargumente
entry-Prüfpunkte
return-Prüfpunkte
Beispiele
Tail-Call-Optimierung
Assemblerfunktionen
Beschränkungen des Befehlssatzes
Beschränkungen bei x86-Systemen
Beschränkungen bei SPARC-Systemen
Interaktion mit Haltepunkten
Laden von Modulen
Stabilität
Kapitel 21 Der Provider syscall
Prüfpunkte
Systemaufruf-Anachronismen
Subkodierte Systemaufrufe
Systemaufrufe für große Dateien
Private Systemaufrufe
Argumente
Stabilität
Kapitel 22 Der Provider sdt
Prüfpunkte
Beispiele
Erstellen von SDT-Prüfpunkten
Deklarieren von Prüfpunkten
Prüfpunktargumente
Stabilität
Kapitel 23 Der Provider sysinfo
Prüfpunkte
Argumente
Beispiel
Stabilität
Kapitel 24 Der Provider vminfo
Prüfpunkte
Argumente
Beispiel
Stabilität
Kapitel 25 Der Provider proc
Prüfpunkte
Argumente
lwpsinfo_t
psinfo_t
Beispiele
exec
start und exit
lwp-start und lwp-exit
signal-send
Stabilität
Kapitel 26 Der Provider sched
Prüfpunkte
Argumente
cpuinfo_t
Beispiele
on-cpu und off-cpu
enqueue und dequeue
sleep und wakeup
preempt, remain-cpu
change-pri
tick
Stabilität
Kapitel 27 Der Provider io
Prüfpunkte
Argumente
Die Struktur bufinfo_t
devinfo_t
fileinfo_t
Beispiele
Stabilität
Kapitel 28 Der Provider mib
Prüfpunkte
Argumente
Stabilität
Kapitel 29 Der Provider fpuinfo
Prüfpunkte
Argumente
Stabilität
Kapitel 30 Der Provider pid
Benennung von pid-Prüfpunkten
Prüfpunkte für Funktionsgrenzen
entry-Prüfpunkte
return-Prüfpunkte
Prüfpunkte für den Funktionsversatz
Stabilität
Kapitel 31 Der Provider plockstat
Überblick
Mutex-Prüfpunkte
Prüfpunkte für Leser/Schreiber-Sperren
Stabilität
Kapitel 32 Der Provider fasttrap
Prüfpunkte
Stabilität
Kapitel 33 Ablaufverfolgung von Benutzerprozessen
Die Subroutinen copyin() und copyinstr()
Vermeiden von Fehlern
Ausschalten von dtrace(1M)-Interferenzen
Der Provider syscall
Die Aktion ustack()
Der Vektor uregs[]
Der Provider pid
Ablaufverfolgung von Benutzerfunktionsgrenzen
Ablaufverfolgung beliebiger Anweisungen
Kapitel 34 Statisch definierte Ablaufverfolgung für Benutzeranwendungen
Auswahl der Prüfpunktstellen
Einfügen von Prüfpunkten in Anwendungen
Definieren von Providern und Prüfpunkten
Einfügen von Prüfpunkten in Anwendungscode
Erstellen von Anwendungen mit Prüfpunkten
Kapitel 35 Sicherheit
Zugriffsrechte
Privilegierte Verwendung von DTrace
Das Zugriffsrecht dtrace_proc
Das Zugriffsrecht dtrace_user
Das Zugriffsrecht dtrace_kernel
Superuser-Zugriffsrechte
Kapitel 36 Anonyme Ablaufverfolgung
Anonyme Aktivierungen
Fordern des anonymen Status
Beispiele für die anonyme Ablaufverfolgung
Kapitel 37 Nachträgliche Ablaufverfolgung
Anzeigen von DTrace-Verbrauchern
Anzeigen von Ablaufverfolgungsdaten
Kapitel 38 Überlegungen zur Leistung
Begrenzen aktivierter Prüfpunkte
Verwenden von Aggregaten
Verwenden zwischenspeicherbarer Prädikate
Kapitel 39 Stabilität
Stabilitätsstufen
Abhängigkeitsklassen
Schnittstellenattribute
Stabilitätsberechnung und -berichte
Erzwingen einer Stabilität
Kapitel 40 Übersetzer
Übersetzerdeklarationen
Übersetzungsoperator
Übersetzer für Prozessmodelle
Stabile Übersetzungen
Kapitel 41 Versionsverwaltung
Versionen und Versionsnummern
Optionen für die Versionsverwaltung
Versionsverwaltung für Provider
Glossar
© 2010, Oracle Corporation and/or its affiliates