Méthode ICLRDebuggingLibraryProvider3::ProvideUnixLibrary
Permet au débogueur de fournir un chemin d’accès à une bibliothèque de débogage CLR (Common Language Runtime) spécifique de la version sur macOS et 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);
Paramètres
pwszFilename
[in] Nom du module demandé.
pwszRuntimeModule
[in] Chemin d’accès au runtime ou module à fichier unique.
indexType
[in] Type d’informations d’index (pBuildId) fourni. Consultez l’énumération LIBRARY_PROVIDER_INDEX_TYPE.
pbBuildId
[in] ID de build du module Linux ou macOS. Peut être null si un problème s’est produit lors de la récupération de l’ID de build.
iBuildIdSize
[in] Nombre d’octets dans le tableau pbBuildId. Peut être 0 si un problème s’est produit lors de la récupération de l’ID de build.
ppResolvedModulePath
[out] Il s’agit d’un chemin d’accès arrêté null vers la DLL du module. Sur Unix, il doit être alloué avec CoTaskMemAlloc. Sur Unix, il doit être alloué avec malloc. Un échec le laisse intouché. Voir la note de sécurité ci-dessous !
Valeur retournée
Cette méthode retourne les HRESULT spécifiques suivants ainsi que les erreurs HRESULT indiquant l’échec de la méthode.
HRESULT | Description |
---|---|
S_OK |
La commande s'est correctement terminée. |
Notes
ProvideUnixLibrary
permet au débogueur de fournir les modules nécessaires pour le débogage de fichiers CLR spécifiques, comme mscordbi.dll et mscordacwks.dll.
Le débogueur peut utiliser tous les moyens disponibles pour localiser ou se procurer le module de débogage.
Important
Cette fonctionnalité permet à l’appelant d’API de fournir des modules qui contiennent un exécutable, et éventuellement du code malveillant. En guise de précaution de sécurité, l’appelant ne doit pas utiliser ProvideUnixLibrary
pour distribuer tout code qu’il n’est pas prêt à s’exécuter lui-même.
Si un problème de sécurité sérieux est détecté dans une bibliothèque déjà publiée, par exemple mscordbi.dll ou mscordacwks.dll, le shim peut être corrigé pour reconnaître les versions incorrectes des fichiers. Le shim peut ensuite émettre des demandes pour les versions corrigées des fichiers et rejeter les versions incorrectes si elles sont fournies en réponse à toute demande. Cela peut se produire uniquement si l’utilisateur a mis à jour une nouvelle version du shim. Les versions non mises à jour restent vulnérables.
Spécifications
Plateformes : Consultez Systèmes d’exploitation pris en charge par .NET.
En-tête : dbgshim.h
Bibliothèque : dbgshim.dll, libdbgshim.so, libdbgshim.dylib
Versions de .NET : Disponibles depuis .NET Core 2.1