Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применяет изменения в метаданных и изменениях в коде общего промежуточного языка (CIL) к выполняемой процедуре.
Синтаксис
HRESULT ApplyChanges (
[in] ULONG cbMetadata,
[in, size_is(cbMetadata)] BYTE pbMetadata[],
[in] ULONG cbIL,
[in, size_is(cbIL)] BYTE pbIL[]
);
Параметры
cbMetadata [in] Размер в байтах разностных метаданных.
pbMetadata [in] Буфер, содержащий разностные метаданные. Адрес буфера возвращается из метода IMetaDataEmit2::SaveDeltaToMemory .
Относительные виртуальные адреса (RVAs) в метаданных должны быть относительными к началу кода CIL.
cbIL [in] Размер в байтах кода разностного CIL.
pbIL [in] Буфер, содержащий обновленный код CIL.
Замечания
Параметр pbMetadata находится в специальном формате разностных метаданных (как выходные данные IMetaDataEmit2::SaveDeltaToMemory).
pbMetadata принимает предыдущие метаданные в качестве основы и описывает отдельные изменения, применяемые к этой базе.
Напротив, pbIL[параметр ] содержит новый CIL для обновленного метода и предназначен для полной замены предыдущего CIL для этого метода.
При создании разностного CIL и метаданных в памяти отладчика отладчик вызывает ApplyChanges отправку изменений в среду CLR. Среда выполнения обновляет свои таблицы метаданных, помещает новый CIL в процесс и настраивает JIT-компиляцию нового CIL. При применении изменений отладчик должен вызвать IMetaDataEmit2::ResetENCLog , чтобы подготовиться к следующему сеансу редактирования. Отладчик может продолжить процесс.
Всякий раз, когда отладчик вызывает ApplyChanges модуль с разностными метаданными, он также должен вызывать IMetaDataEmit::ApplyEditAndContinue с одинаковыми разностными метаданными на всех его копиях метаданных этого модуля, за исключением копии, используемой для выдачи изменений. Если копия метаданных как-то перестает синхронизироваться с фактическими метаданными, отладчик всегда может выбросить копию и получить новую копию.
ApplyChanges Если метод завершается ошибкой, сеанс отладки находится в недопустимом состоянии и должен быть перезапущен.
Требования
Платформ: См. сведения о поддерживаемых операционных системах .NET.
Заголовок: CorDebug.idl, CorDebug.h
Библиотека: CorGuids.lib
Версии .NET: Доступно с .NET Framework 2.0