Метод ICLRDebuggingLibraryProvider3::P rovideUnixLibrary
Позволяет отладчику предоставить путь к библиотеке отладки среды CLR для конкретной версии в macOS и Linux.
Синтаксис
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);
Параметры
pwszFilename
[in] Имя запрашиваемого модуля.
pwszRuntimeModule
[in] Путь среды выполнения или модуля с одним файлом.
indexType
[in] Указанный тип сведений о индексе (pBuildId). См . перечисление LIBRARY_PROVIDER_INDEX_TYPE .
pbBuildId
[in] Идентификатор сборки модуля Linux или macOS. Может иметь значение NULL, если что-то пошло не так, чтобы получить идентификатор сборки.
iBuildIdSize
[in] Количество байтов в массиве pbBuildId. Может быть 0, если что-то пошло не так, чтобы получить идентификатор сборки.
ppResolvedModulePath
[out] Это путь, завершаемый пустым, в библиотеку dll модуля. В Unix его следует выделить с помощью CoTaskMemAlloc. В Unix его следует выделить с помощью malloc. Неудача оставляет ее нетронутой. См. примечание по безопасности ниже!
Возвращаемое значение
Этот метод возвращает следующие определенные ошибки HRESULT, а также ошибки HRESULT, указывающие на сбой метода.
HRESULT | Description |
---|---|
S_OK |
Метод завершился успешно. |
Замечания
ProvideUnixLibrary
позволяет отладчику предоставлять модули, необходимые для отладки определенных файлов СРЕДЫ CLR, таких как mscordbi.dll и mscordacwks.dll.
Отладчик может использовать любые доступные средства для поиска или приобретения модуля отладки.
Внимание
Эта функция позволяет вызывающей программе API предоставлять модули, содержащие исполняемый файл и, возможно, вредоносный код. В качестве меры предосторожности вызывающий объект не должен использовать ProvideUnixLibrary
для распространения кода, который не готов выполнить сам.
Если в уже выпущенной библиотеке обнаружена серьезная проблема безопасности, например mscordbi.dll или mscordacwks.dll, исправление может быть исправлено для распознавания плохих версий файлов. Затем схим может выдавать запросы на исправленные версии файлов и отклонять плохие версии, если они предоставлены в ответ на любой запрос. Это может произойти только в том случае, если пользователь исправил новую версию оболочки. Неотреченные версии останутся уязвимыми.
Требования
Платформы: см . поддерживаемые операционные системы .NET.
Заголовок: dbgshim.h
Библиотека: dbgshim.dll, libdbgshim.so, libdbgshim.dylib
Версии .NET: доступны с .NET Core 2.1