Метод ICorDebugCode3::GetReturnValueLiveOffset
Для указанного смещения IL получает собственные смещения, в которых должна быть размещена точка останова, чтобы отладчик смог получить возвращаемое значение из функции.
Синтаксис
HRESULT GetReturnValueLiveOffset(
[in] ULONG32 ILoffset,
[in] ULONG32 bufferSize,
[out] ULONG32 *pFetched,
[out, size_is(buffersize), length_is(*pFetched)] ULong32 pOffsets[]
);
Параметры
ILoffset
Смещение IL. Это должен быть сайт вызова функции, иначе вызов функции завершится ошибкой.
bufferSize
Количество байтов, доступных для хранения pOffsets
.
pFetched
Указатель на количество фактически возвращенных смещения. Как правило, его значение равно 1, но одна инструкция IL может сопоставляться с несколькими CALL
инструкциями сборки.
pOffsets
Массив собственных смещения. Как правило, pOffsets
содержит одно смещение, хотя одна инструкция IL может сопоставляться с несколькими инструкциями сборки CALL
.
Комментарии
Этот метод используется вместе с методом ICorDebugILFrame3::GetReturnValueForILOffset для получения возвращаемого значения метода, возвращающего ссылочный тип. Передача смещения IL сайту вызова функции в этот метод возвращает одно или несколько собственных смещений. Затем отладчик может задать точки останова для этих собственных смещений в функции. Когда отладчик достигает одной из точек останова, можно передать то же смещение IL, которое вы передали этому методу, в метод ICorDebugILFrame3::GetReturnValueForILOffset , чтобы получить возвращаемое значение. Затем отладчик должен очистить все заданные точки останова.
Предупреждение
Методы ICorDebugCode3::GetReturnValueLiveOffset
ICorDebugILFrame3::GetReturnValueForILOffset позволяют получать возвращаемые сведения только для ссылочных типов. Получение возвращаемых сведений о значении из типов значений (т. е. всех типов, производных от ValueType) не поддерживается.
Функция возвращает значения, HRESULT
показанные в следующей таблице.
Значение HRESULT |
Описание |
---|---|
S_OK |
Успешно. |
CORDBG_E_INVALID_OPCODE |
Данный сайт смещения IL не является инструкцией вызова, или функция возвращает void . |
CORDBG_E_UNSUPPORTED |
Заданное смещение IL является правильным вызовом, но возвращаемый тип не поддерживается для получения возвращаемого значения. |
Метод ICorDebugCode3::GetReturnValueLiveOffset
доступен только в системах x86 и AMD64.
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorDebug.idl, CorDebug.h
Библиотека: CorGuids.lib
платформа .NET Framework версии: доступно с версии 4.5.1.
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по