Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az egyéni .NET hibakeresőket általában külön folyamat üzemelteti. A mobilplatformok korlátozzák vagy tiltják az ilyen folyamatok létrehozását, ezért a céloldali egyéni hibakereső összetevőt be kell tölteni az alkalmazás folyamatába.
Ez a cikk csak a hibakereső inicializálására vonatkozik mobilplatformokon (iOS és Android) .NET 11- és újabb verziókban. Ez nem vonatkozik a NativeAOT-ra.
A céloldali összetevő implementálása és üzembe helyezése
A céloldali hibakereső összetevőt DllGetClassObject belépési ponttal rendelkező profilozó dinamikus könyvtárként kell megvalósítani. Példamegvalósításokért lásd a .NET-profilozó mintákat.
Az alkalmazás részeként a libmscordbi és a libmscordaccore dinamikus kódtárakkal együtt kell üzembe helyezni, a célplatform natív kódtár-csomagolási, kódaláírási és betöltési követelményeinek megfelelően.
A céloldali összetevő betöltése induláskor
Ha azt szeretné, hogy a CoreCLR betöltse az összetevőt profilkészítőként, adja meg a következő környezeti beállításokat a futtatókörnyezet indítása előtt:
| Környezet változó | Value |
|---|---|
DOTNET_ENABLE_PROFILING |
1 |
DOTNET_PROFILER |
{<profiler-CLSID>} |
DOTNET_PROFILER_PATH |
<component-path> |
Cserélje le a(z) <profiler-CLSID> elemet az összetevő profilerének GUID-jára, és tartsa meg a körülötte lévő kapcsos zárójeleket. Cserélje le a(z) <component-path> elemet a natív összetevő elérési útjára a célalkalmazás üzembe helyezésében.
Ezekről a beállításokról további információt a futtatókörnyezet konfigurációs beállításaiban talál a hibakereséshez és a profilkészítéshez.
A beállítások megadásához használja a platform alkalmazásindítási konfigurációját.
Note
Bár ez az eljárás a hibakereső inicializálására használja a profilkészítő mechanizmust, nem biztosít általános célú támogatást a külső profilkészítők számára a mobilplatformokon.
A hibakereső felületének létrehozása
A céloldali összetevőben hajtsa végre a következő inicializálást:
- Betölti a
libmscordbidinamikus könyvtárat, és meghívja annakCoreCLRCreateCordbObjectExexportját. Kérdezze le a visszaadott objektumot a(z)ICorDebugelemre. - Hívja meg az ICorDebug::Initialize parancsot, és regisztrálja a felügyelt eseménykezelőt az ICorDebug::SetManagedHandler használatával.
- Kapcsolódjon az alkalmazáshoz az ICorDebug::DebugActiveProcess használatával.
Annak érdekében, hogy ne maradjanak ki a korai modulbetöltési és indítási események, hangolja össze a csatlakoztatást a futtatókörnyezet indulásával, hogy a felügyelt kód végrehajtása ne folytatódjon, mielőtt a(z) DebugActiveProcess befejeződik.
Az inicializálás után használja a ICorDebug hibakereső felületeket, mint más Unix-platformokon.