Share via


Starten und Anfügen des Profilers ohne Registrierung

Ab .NET Framework 4 können Sie Profiler zur Startzeit der Anwendung (Laden beim Startvorgang) und während der Ausführung der Anwendungen (Laden beim Anfügen) anfügen. Beide Optionen bieten die Möglichkeit, Profiler zu starten, die nicht als COM-Komponenten registriert wurden.

Diese zwei Methoden verwenden andere Protokolle zum Starten von Profilern und werden in den folgenden Abschnitten erläutert.

Profiler für Laden beim Startvorgang

Ein Profiler für Laden beim Startvorgang wird geladen, wenn die Anwendung, für die ein Profil erstellt werden soll, gestartet wird. Vor .NET Framework 4 war Laden beim Start die einzige Möglichkeit, einen Profiler zu laden. Der Profiler musste registriert werden und wurde durch die Werte der folgenden Umgebungsvariablen gesucht:

  • COR_ENABLE_PROFILING=1

  • COR_PROFILER = {CLSID des Profilers}

Die Common Language Runtime (CLR) verwendete das CLSID-Formular COR_PROFILER, um den Profiler in der Registrierung unter HKEY_CLASSES_ROOT zu suchen.

Ab .NET Framework 4 können Sie weiterhin den Profiler registrieren. Allerdings wird eine andere Umgebungsvariable vor der Registrierungssuche überprüft:

  • COR_PROFILER_PATH =Vollständiger Pfad der Profiler-DLL

Wenn COR_PROFILER_PATH vorhanden ist, wird dessen Wert verwendet, um den Profiler zu suchen, und die Registrierungssuche wird übersprungen.

Hinweise:

  • COR_PROFILER_PATH ist optional. Wenn Sie COR_PROFILER_PATH nicht angeben, wird die CLSID des Profilers verwendet, um den Pfad in der Registrierung zu suchen.

  • Wenn Sie COR_PROFILER_PATH angeben und den Profiler registrieren, hat COR_PROFILER_PATH Vorrang. Wenn COR_PROFILER_PATH auf einen ungültigen Pfad zeigt, wird der Profiler nicht geladen, auch wenn eine Registrierung vorhanden ist.

  • COR_PROFILER ist immer erforderlich. Wenn Sie COR_PROFILER_PATH angeben, wird die Registrierungssuche übersprungen; die CLSID von COR_PROFILER ist jedoch immer noch für den CreateInstance-Aufruf erforderlich.

Anfügen-Laden-Profiler

Ab .NET Framework 4 kann ein Profiler an eine bereits ausgeführte Anwendung angefügt werden. Weitere Informationen zu dieser Funktionalität finden Sie unter Anfügen und Trennen des Profilers. Ein Profiler, der beim Anfügen an eine Anwendung geladen wird, verwendet den wszProfilerPath-Parameter der ICLRProfiling::AttachProfiler-Methode, um den Speicherort der DLL der Profilerdatei zu suchen. Wenn wszProfilerPath NULL ist, sucht die Laufzeit den Profiler, indem Sie die Registrierung nach der im pClsidProfiler-Parameter angegebenen CLSID durchsucht.

Siehe auch

Weitere Ressourcen

Übersicht über die Profilerstellung

Profilerstellung (Referenz zur nicht verwalteten API)

Referenz zur nicht verwalteten API