ICLRDebuggingLibraryProvider3::P rovideUnixLibrary – metoda
Umožňuje ladicímu programu poskytnout cestu k knihovně ladění CLR (Common Language Runtime) specifické pro konkrétní verzi v systémech macOS a Linux.
Syntaxe
HRESULT ProvideUnixLibrary (
[in] const WCHAR* pwszFileName,
[in] const WCHAR* pwszRuntimeModule,
[in] LIBRARY_PROVIDER_INDEX_TYPE indexType,
[in] BYTE* pbBuildId,
[in] int iBuildIdSize,
[out] LPWSTR* ppResolvedModulePath);
Parametry
pwszFilename
[v] Název požadovaného modulu.
pwszRuntimeModule
[v] Cesta modulu runtime nebo modulu s jedním souborem.
indexType
[v] Zadaný typ informací indexu (pBuildId). Viz LIBRARY_PROVIDER_INDEX_TYPE výčtu.
pbBuildId
[v] ID sestavení modulu Linux nebo macOS. Pokud se něco nepovedlo při načítání ID sestavení, může mít hodnotu null.
iBuildIdSize
[v] Počet bajtů v poli pbBuildId. Může být 0, pokud se při načítání ID buildu něco nepovedlo.
ppResolvedModulePath
[ven] Jedná se o nulovou ukončenou cestu k knihovně DLL modulu. V unixu by měl být přidělen coTaskMemAlloc. Na Unixu by měla být přidělena malloc. Chyba zůstane nedotčená. Podívejte se na poznámku k zabezpečení níže.
Vrácená hodnota
Tato metoda vrátí následující konkrétní HRESULT a také chyby HRESULT, které označují selhání metody.
HRESULT | Popis |
---|---|
S_OK |
Metoda byla úspěšně dokončena. |
Poznámky
ProvideUnixLibrary
umožňuje ladicím programu poskytovat moduly potřebné k ladění konkrétních souborů CLR, jako jsou mscordbi.dll a mscordacwks.dll.
Ladicí program může použít jakékoli dostupné prostředky k vyhledání nebo pořízení modulu ladění.
Důležité
Tato funkce umožňuje volajícímu rozhraní API poskytovat moduly, které obsahují spustitelný a potenciálně škodlivý kód. Jako bezpečnostní opatření by volající neměl používat ProvideUnixLibrary
k distribuci jakéhokoli kódu, který není ochotný provést sám.
Pokud je v již vydané knihovně zjištěn závažný problém se zabezpečením, například v mscordbi.dll nebo mscordacwks.dll, je možné převzorkování opravit, aby rozpoznal chybné verze souborů. Převráce může pak vydávat požadavky na opravené verze souborů a odmítnout chybné verze, pokud jsou k dispozici v reakci na jakýkoli požadavek. K tomu může dojít pouze v případě, že uživatel opravil novou verzi shimu. Nepatchované verze zůstanou zranitelné.
Požadavky
Platformy: Viz podporované operační systémy .NET.
Hlavička: dbgshim.h
Knihovna: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
Verze .NET: Dostupné od .NET Core 2.1