
Wählen Sie in der VM Übersicht (Transaktion SM52) und bestätigen Sie die folgende Abfrage mit Ja.
Sie können nun die Trace-Flags aktivieren, die Sie für Ihre Fehleranalyse benötigen.
Beachten Sie, dass das Tracing die Performance des VM Containers verschlechtert. Schalten Sie das Tracing wieder aus, wenn Sie die gesuchten Informationen haben.
Jedes Trace-Flag bewirkt zusätzliche Trace-Ausgaben im Entwickler-Trace (Workprozess-Trace-Dateien dev_w*). Was genau für jedes Trace-Flag in den Trace geschrieben wird, können Sie der folgenden Tabelle entnehmen.
Die oberen beiden Blöcke von Trace-Flags beziehen sich auf Aktivitäten innerhalb der VM, der untere Block besteht aus Trace-Flags für den JIT-Compiler.
|
Trace-Flag |
Trace-Ausgaben |
|
OP Execution |
Ausführung jedes einzelnen Java Opcodes; Tracing dauert extrem lang |
|
Meth Execution |
Eintritt/Austritt für jede Java Methode; Tracing dauert sehr lang |
|
Interpret. Loop |
Status des oberen Java Frames nach jedem Methodenaufruf oder Rücksprung. |
|
Java Sync (fast) |
Lock/Unlock Operationen auf Java-Objekten ohne Konkurrenz (über 99% aller Synchronisationsoperationen) |
|
Java Sync (det) |
Lock/Unlock auf Java Objekten mit Konkurrenz und alle Wait/Notify Operationen auf Java Objekten |
|
Mutex locking |
Lock/Unlock Operationen nativer Locks. |
|
Consit. State |
Erreichen eines konsistenten Zustands (derzeit nur für die GC verwendet). |
|
GC Start/Stop |
Start und Ende des Garbage Collectors |
|
GC Root scans |
Details über das Prozessieren der Wurzeln des Java Heaps während der GC. |
|
GC Heap scans |
Details über das Prozessieren der Objekte im Java Heap während der GC. |
|
GC Obj alloc |
Details zu jeder Objekterzeugung. |
|
GC internals |
Interne Vorgänge der GC. |
|
GC safe/unsafe |
Übergänge gc-safe/gc-unsafe anzeigen. |
|
Class static init |
Statische Initialisierung von Java-Klassen |
|
Java Exceptions |
Alle Java Exceptions, die geworfen oder gefangen werden. |
|
Misc (init, exit) |
Phasen beim Starten/Beenden einer VM Beenden einer VM per exit Suchen von JNI Routinen |
|
GC barriers |
Derzeit nicht benutzt. |
|
Stackmap gen |
Erzeugen von Java Stackmaps (Methoden-Datenstrukturen, die zur Garbage Collection notwendig sind) |
|
Class loading |
Laden von Java-Klassen |
|
Class lookup |
Suchen von Java-Klassen im Cache des Class Loaders; Tracing dauert sehr lang |
|
Type system |
Alle Operationen des TypeID Systems (verwaltet Klassen-, Feld- und Methodennamen sowie Methodensignaturen) |
|
Java Verifier |
Bytecode-Verifikation von Java Klassen (geschieht beim Linken) |
|
Weak ref handling |
VM interne Behandlung von Objekten mit besonderer Garbage-Collection aus java.lang.ref.Reference (weak, soft, phantom) und Finalizern. |
|
Class unloading |
Entladen von Java-Klassen durch Garbage Collection |
|
Class linking |
Linken von Java-Klassen |
|
LVM |
Nicht benutzt |
|
Controls |
Behandlung von Controls. |
|
Controls (int) |
Interne Behandlung von Controls (Tracing dauert lang) |
|
Debugging |
Lebenszyklus des Debugging On Demands |
|
JVMDI |
Trace der wichtigsten JVMDI Funktionalität |
|
JVMDI (int) |
Trace der weniger wichtigen JVMDI Funktionalität |
|
Thread sched |
Liefert die Sicht des Thread Schedulers über den aktuellen Stand der Threads. Das beinhaltet folgende Informationen:
|
|
Thread sched(int) |
Liefert Informationen über :
|
|
Basic File IO |
Öffnen und Schließen von Dateien. |
|
File IO (r/w) |
Alle Lese- und Schreiboperationen und ihre Resultate, allerdings ohne die gelesenen/geschriebenen Daten zu protokollieren. |
|
File IO (data) |
Alle gelesenen und geschriebenen Daten. |
|
File IO (int) |
Interne Funktionen bei der Dateienbehandlung. |
|
Basic Network IO |
Bind/Accept/Listen/Connect von Sockets. |
|
Net IO (send/rec) |
Alle send-, receive- und verwandter Operationen, ohne jedoch die versendeten Daten anzuzeigen. |
|
Net IO (data) |
Alle gesendeten Daten. |
|
Net IO(int) |
Interne Funktionen bei der Socketbehandlung. |
|
JPDA |
Wichtigere Funktionen der JPDA Library (Debugging). |
|
JDPA (int) |
Weniger wichtige Funktionen der JPDA Library (Debugging). |
|
JDWP |
Alle Pakete, die zwischen dem Debugger und der VM ausgetauscht werden (in lesbarem Format). |
|
VM attach/detach |
Binden einer VM an einen Workprozess (attach) und Loslösen einer VM vom Workprozess (detach) |
|
Trace symb. names |
Ermitteln und Ausgabe der symbolischen Namen für externe Funktionen, die nicht per symbolischem Namen, sondern per Zeiger an die VM übergeben werden. |
|
Ext Mutex |
Lock/Unlock auf systemweiten Sperren ( Shared Locks und VM-interne Sperren), ausgenommen einige sehr häufig benutzte. |
|
Ext Mutex (int) |
Lock/Unlock auf sehr häufig benutzten VM-internen systemweiten Sperren (sehr lang) |
|
GC statistics |
Ausgabe der wichtigsten Informationen für jede Garbage Collection in lesbarem Format. |
|
Surviving objects |
Ausgabe der Anzahl und Gesamtgröße lebender Objekte nach Klassen sortiert bei jeder kompletten GC. |
|
Configuration |
Ausgabe von VM Konfigurationen beim Hochstarten. |
|
Shared GC |
Anfang, Ende und sonstige Zustandsübergänge des Shared Garbage Collectors |
|
Shared GC (int) |
Interne Implementierungsdetails des Shared Garbage Collectors (sehr lang) |
|
Shared Closure |
Shared Closure Operationen |
|
Shr Closure (det) |
Interne Implementierungsdetails von Shared Closures (sehr lang) |
|
Trace-Flag |
Trace-Ausgaben |
|
JIT Status |
Übersetzungsaktivitäten des JIT-Compilers |
|
JIT BC to IR |
Übersetzung von Java Bytecode in interne Zwischendarstellung |
|
JIT code generation |
Erzeugung des Maschinencodes |
|
JIT statistics |
Statistiken zur Codeerzeugung |
|
JIT IR opt |
Block-lokale Optimierungen auf der Zwischendarstellung |
|
JIT inlining |
Einlagern von Methoden |
|
JIT on stack replacement |
Ersetzen der interpretierten Ausführung einer Methode durch Ausführung der übersetzten Methode |
|
JIT CFG |
Erzeugung des Kontrollflussgraphen |
|
JIT DFA |
Datenflussbasierte Optimierungen auf der Zwischendarstellung |
|
JIT DEOPT |
Deoptimierung von Ausführungen kompilierter Methoden |
Allgemeine Informationen zum Trace im SAP-Applikationsserver finden Sie unter Trace-Funktionen.
Die Übersicht über die Administrationsfunktionen im VM Container finden Sie unter Administration des VM Containers.