Compartir a través de


ICLRDebuggingLibraryProvider3::P rovideUnixLibrary (método)

Permite al depurador proporcionar una ruta de acceso a una biblioteca de depuración de Common Language Runtime (CLR) específica de la versión en macOS y Linux.

Sintaxis

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);

Parámetros

pwszFilename
[in] Nombre del módulo que se solicita.

pwszRuntimeModule
[in] Ruta de acceso del módulo runtime o de un solo archivo.

indexType
[in] Tipo de información de índice (pBuildId) proporcionada. Consulte LIBRARY_PROVIDER_INDEX_TYPE enumeración.

pbBuildId
[in] Identificador de compilación del módulo Linux o macOS. Puede ser NULL si algo ha ido mal recuperando el identificador de compilación.

iBuildIdSize
[in] Número de bytes de la matriz pbBuildId. Puede ser 0 si algo salió mal recuperando el identificador de compilación.

ppResolvedModulePath
[out] Se trata de una ruta de acceso terminada nula al archivo DLL del módulo. En Unix, debe asignarse con CoTaskMemAlloc. En Unix, debe asignarse con malloc. El error deja intacto. Consulte la nota de seguridad a continuación.

Valor devuelto

Este método devuelve los siguientes errores HRESULT y HRESULT específicos que indican un error del método.

HRESULT Descripción
S_OK El método se completó correctamente.

Observaciones

ProvideUnixLibrary permite al depurador proporcionar módulos necesarios para depurar archivos CLR específicos, como mscordbi.dll y mscordacwks.dll.

El depurador puede usar cualquier medio disponible para buscar o adquirir el módulo de depuración.

Importante

Esta característica permite al autor de la llamada de API proporcionar módulos que contienen código ejecutable y, posiblemente, malintencionado. Como precaución de seguridad, el autor de la llamada no debe usar ProvideUnixLibrary para distribuir ningún código que no esté dispuesto a ejecutarse a sí mismo.

Si se detecta un problema de seguridad grave en una biblioteca ya publicada, como mscordbi.dll o mscordacwks.dll, la corrección de compatibilidad se puede aplicar revisiones para reconocer las versiones incorrectas de los archivos. Después, las correcciones de compatibilidad pueden emitir solicitudes para las versiones revisadas de los archivos y rechazar las versiones incorrectas si se proporcionan en respuesta a cualquier solicitud. Esto solo puede ocurrir si el usuario ha revisado a una nueva versión de la corrección de compatibilidad. Las versiones no publicadas seguirán siendo vulnerables.

Requisitos

Plataformas: Consulte Sistemas operativos compatibles con .NET.

Encabezado: dbgshim.h

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

Versiones de .NET: Disponible desde .NET Core 2.1