Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Použije změny v metadatech a změny v kódu CIL (Common Intermediate Language) na spuštěný proces.
Syntaxe
HRESULT ApplyChanges (
[in] ULONG cbMetadata,
[in, size_is(cbMetadata)] BYTE pbMetadata[],
[in] ULONG cbIL,
[in, size_is(cbIL)] BYTE pbIL[]
);
Parametry
cbMetadata [v] Velikost rozdílových metadat v bajtech
pbMetadata [v] Vyrovnávací paměť, která obsahuje rozdílová metadata. Adresa vyrovnávací paměti je vrácena z IMetaDataEmit2::SaveDeltaToMemory metoda.
Relativní virtuální adresy (RVA) v metadatech by měly být relativní vzhledem ke začátku kódu CIL.
cbIL [v] Velikost kódu delta CIL v bajtech
pbIL [v] Vyrovnávací paměť, která obsahuje aktualizovaný kód CIL.
Poznámky
Parametr pbMetadata je ve speciálním formátu delta metadat (výstupem IMetaDataEmit2::SaveDeltaToMemory).
pbMetadata přebírá předchozí metadata jako základ a popisuje jednotlivé změny, které se mají na tuto základnu použít.
Naproti tomu pbIL[parametr ] obsahuje nový CIL pro aktualizovanou metodu a je určen k úplnému nahrazení předchozího souboru CIL pro tuto metodu.
Když se v paměti ladicího programu vytvoří rozdílový kód CIL a metadata, volání ApplyChanges ladicího programu pro odeslání změn do modulu CLR (Common Language Runtime). Modul runtime aktualizuje tabulky metadat, umístí nový CIL do procesu a nastaví kompilaci nového souboru CIL za běhu (JIT). Po použití změn by ladicí program měl volat IMetaDataEmit2::ResetENCLog , aby se připravil na další relaci úprav. Ladicí program pak může pokračovat v procesu.
Kdykoli ladicí program volá ApplyChanges modul, který má rozdílová metadata, měl by také volat IMetaDataEmit::ApplyEditAndContinue se stejnými rozdílovými metadaty na všech jeho kopiích metadat tohoto modulu s výjimkou kopie použité k generování změn. Pokud se kopie metadat nějak přestane synchronizovat se skutečnými metadaty, ladicí program může tuto kopii kdykoli vyhodit a získat novou kopii.
ApplyChanges Pokud metoda selže, relace ladění je v neplatném stavu a musí být restartována.
Požadavky
Platformy: Viz podporované operační systémy .NET.
Záhlaví: CorDebug.idl, CorDebug.h
Knihovna: CorGuids.lib
Verze .NET: K dispozici od rozhraní .NET Framework 2.0