Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Aangepaste .NET foutopsporingsprogramma's worden doorgaans gehost in een afzonderlijk proces. Mobiele platforms beperken of verbieden het maken van dergelijke processen, zodat het aangepaste foutopsporingsprogramma-onderdeel aan de doelzijde moet worden geladen in het toepassingsproces.
Dit artikel is alleen van toepassing op initialisatie van foutopsporingsprogramma's op mobiele platforms (iOS en Android) in .NET 11 en latere versies. Het is niet van toepassing op NativeAOT.
Implementeer en rol de component aan de doelzijde uit
Het debuggeronderdeel op de doelcomputer moet worden geïmplementeerd als een dynamische bibliotheek voor profilering met een DllGetClassObject-ingangspunt. Zie bijvoorbeeld de voorbeelden van de .NET-profiler.
Deze moet samen met libmscordbi en libmscordaccore dynamische bibliotheken worden geïmplementeerd als onderdeel van de toepassing in overeenstemming met de systeemeigen bibliotheekpakketten van het doelplatform, codeondertekening en laadvereisten.
Laad de component aan de doelzijde bij het opstarten
Om CoreCLR uw onderdeel als profiler te laten laden, stelt u de volgende omgevingsinstellingen in voordat de runtime wordt gestart:
| Omgevingsvariabele | Value |
|---|---|
DOTNET_ENABLE_PROFILING |
1 |
DOTNET_PROFILER |
{<profiler-CLSID>} |
DOTNET_PROFILER_PATH |
<component-path> |
Vervang <profiler-CLSID> door de profiler-GUID van uw component en laat de omringende accolades staan. Vervang <component-path> door het pad naar het systeemeigen onderdeel in de implementatie van de doel-app.
Zie Runtime-configuratieopties voor foutopsporing en profilering voor meer informatie over deze instellingen.
Gebruik de configuratie voor het starten van apps van uw platform om deze instellingen op te geven.
Note
Hoewel deze procedure gebruikmaakt van het profilermechanisme om een foutopsporingsprogramma te initialiseren, wordt er geen algemene ondersteuning voor profilers van derden op mobiele platforms tot stand gebracht.
De interface voor foutopsporingsprogramma maken
Voer in het doelonderdeel de volgende initialisatie uit:
- Laad
libmscordbidynamische bibliotheek en roep de export aanCoreCLRCreateCordbObjectEx. Voer een query uit op het geretourneerde object voorICorDebug. - Roep ICorDebug::Initialize aan en registreer uw handler voor beheerde gebeurtenissen met ICorDebug::SetManagedHandler.
- Maak verbinding met de app met ICorDebug::DebugActiveProcess.
Om te voorkomen dat er vroege modulelaad- en opstartgebeurtenissen ontbreken, coördineert u de bijlage bij het opstarten van de runtime, zodat de beheerde uitvoering niet verdergaat voordat DebugActiveProcess deze is voltooid.
Na de initialisatie gebruikt u de ICorDebug interfaces voor foutopsporingsprogramma's zoals op andere Unix-platforms.