Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktualisiert: November 2007
Die Profilerstellungs-API bietet zwei Methoden zum Abrufen von Aufruflisten: eine Stapelsnapshotmethode, mit der Anruflisten sporadisch überwacht werden können, und eine Schattenstapelmethode, mit der Anruflisten laufend überwacht werden können. Dieses Thema enthält eine Übersicht über diese beiden Methoden.
Stapelsnapshot
Unter einem Stapelsnapshot versteht man die Überwachung eines Threadstapels zu einem bestimmten Zeitpunkt. Die Profilerstellungs-API unterstützt die Überwachung von verwalteten Funktionen im Stapel, überlässt jedoch die Überwachung nicht verwalteter Funktionen dem Stackwalker des Profilers.
Weitere Informationen darüber, wie Sie den Profiler zum Durchlaufen verwalteter Stapel programmieren, finden Sie in den Ausführungen zur ICorProfilerInfo2::DoStackSnapshot-Methode in dieser Dokumentation und in der MSDN Library unter Profiler Stack Walking in the .NET Framework 2.0: Basics and Beyond.
Schattenstapel
Die allzu häufige Verwendung der Snapshotmethode kann schnell zu Leistungseinbußen führen. Wenn Sie regelmäßig Stapelüberwachungen vornehmen möchten, sollte der Profiler stattdessen die Ausnahmerückrufe FunctionEnter2, FunctionLeave2, FunctionTailcall2 und ICorProfilerCallback2 verwenden, um einen Schattenstapel zu erstellen. Der Schattenstapel ist immer aktuell und kann schnell in den Speicher kopiert werden, wenn ein Stapelsnapshot benötigt wird.
Mit einem Schattenstapel können Funktionsargumente, Rückgabewerte und Informationen über generische Instanziierungen abgerufen werden. Diese Informationen sind nur über den Schattenstapel verfügbar und können abgerufen werden, wenn die Steuerung an eine Funktion übergeben wird. Sobald die Funktion ausgeführt wird, sind diese Informationen u. U. jedoch nicht mehr verfügbar.
Siehe auch
Referenz
ICorProfilerInfo2::SetEnterLeaveFunctionHooks2-Methode