Udostępnij przez


ICLRDebuggingLibraryProvider3::P rovideUnixLibrary, metoda

Umożliwia debugerowi udostępnienie ścieżki do biblioteki debugowania środowiska uruchomieniowego języka wspólnego specyficznego dla wersji (CLR) w systemach macOS i Linux.

Składnia

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
[in] Nazwa żądanego modułu.

pwszRuntimeModule
[in] Ścieżka modułu środowiska uruchomieniowego lub pojedynczego pliku.

indexType
[in] Podany typ informacji o indeksie (pBuildId). Zobacz LIBRARY_PROVIDER_INDEX_TYPE wyliczenie .

pbBuildId
[in] Identyfikator kompilacji modułu systemu Linux lub macOS. Może mieć wartość null, jeśli wystąpił problem podczas pobierania identyfikatora kompilacji.

iBuildIdSize
[in] Liczba bajtów w tablicy pbBuildId. Może to być wartość 0, jeśli wystąpił problem podczas pobierania identyfikatora kompilacji.

ppResolvedModulePath
[out] Jest to ścieżka zakończona o wartości null do biblioteki dll modułu. W systemie Unix należy go przydzielić za pomocą polecenia CoTaskMemAlloc. W systemie Unix należy go przydzielić malloc. Niepowodzenie pozostawia go nietknięte. Zobacz poniższą notatkę zabezpieczeń!

Wartość zwracana

Ta metoda zwraca następujące konkretne błędy HRESULT, a także HRESULT, które wskazują błąd metody.

HRESULT Opis
S_OK Metoda została ukończona pomyślnie.

Uwagi

ProvideUnixLibrary umożliwia debugerowi udostępnianie modułów potrzebnych do debugowania określonych plików CLR, takich jak mscordbi.dll i mscordacwks.dll.

Debuger może użyć dowolnych dostępnych środków do zlokalizowania lub pozyskania modułu debugowania.

Ważne

Ta funkcja umożliwia wywołującym interfejs API udostępnianie modułów zawierających pliki wykonywalne i potencjalnie złośliwe kod. Jako środek ostrożności, obiekt wywołujący nie ProvideUnixLibrary powinien używać do rozpowszechniania żadnego kodu, którego nie chce wykonać.

Jeśli wykryto poważny problem z zabezpieczeniami w już wydanej bibliotece, takiej jak mscordbi.dll lub mscordacwks.dll, podkładka może zostać poprawiona w celu rozpoznania nieprawidłowych wersji plików. Podkładka może następnie wysyłać żądania dotyczące poprawek wersji plików i odrzucać nieprawidłowe wersje, jeśli są one podane w odpowiedzi na każde żądanie. Taka sytuacja może wystąpić tylko wtedy, gdy użytkownik wprowadził poprawkę do nowej wersji podkładki. Wersje bez poprawek pozostaną podatne na zagrożenia.

Wymagania

Platformy: Zobacz Obsługiwane systemy operacyjne platformy .NET.

Nagłówek: dbgshim.h

Biblioteka: dbgshim.dll, libdbgshim.so, libdbgshim.dylib

Wersje platformy .NET: Dostępne od wersji .NET Core 2.1