Podporované změny kódu (C#)
Úpravy a pokračovat zpracovává většinu typů kódu změny uvnitř těla metody.Při ladění však nelze použít mimo subjekty metodu většina změn a několik změn uvnitř těla metody.Chcete-li aplikovat tyto změny nepodporované musí ladění zastavit a restartovat s novou verzi kódu.
Během relace ladění nelze kódu jazyka C# použít následující změny:
Změny aktuálního příkazu nebo jiné aktivní příkaz.
Aktivní příkazy zahrnout všechny příkazy v zásobníku volání funkce, které nazývaly získat aktuální příkaz.
Žluté pozadí v okně zdroj označil aktuální příkaz.Ostatní aktivní příkazy jsou označeny stínovaného pozadí a jsou jen pro čtení.Tyto výchozí barvy lze změnit v Možnosti dialogové okno.
Změny globální symboly, včetně následujících:
Přidání nové typy.
Přidání metod typu.
Změna typu podpis.
Přidání polí, události nebo vlastnosti typu.
Úpravy anonymní metody nebo jakoukoli metodu, která obsahuje anonymní metody.Tyto metody jsou označeny stínovaného pozadí.
Přidání nové anonymní metody.
Přidání, odebrání nebo změna atributů.
Přidání, odebrání nebo změna using směrnic.
Odstranění nebo změna místní proměnné.Přidání místní proměnné je povoleno.
Přidání foreach, using, nebo lock kolem aktivní příkaz.
Metoda, která obsahuje změny yield return nebo yield break prohlášení.
Změna pole inicializovaného anonymní metody konstruktoru.
Nebezpečný kód
Nebezpečný kód změny mají stejná omezení jako změny bezpečné kódu s jednou další omezení:
- Úpravy a nadále nepodporuje změny nebezpečný kód, který ukončí v rámci metody, obsahující výraz stackalloc operátor.Platí pouze pro aktivní metody.Při ladění je funkce v zásobníku volání aktuálně aktivní funkce.
Výjimky
Úpravy a pokračovat podporuje změny catch, finally,a try bloky s některými výjimkami bloků v aktivní metody, například metody, které jsou aktuálně v zásobníku volání.
Aktivní funkce, která je poslední v zásobníku volání funkce, úpravy a pokračovat nepodporuje:
Přidání catch nebo finallykolem aktivní příkaz blokovat.
Přidání obslužné podprocesy výjimek vnořené s větší než šest vnořených úrovní.
Aktivní funkce, která není nejnovější funkce v zásobníku volání, úpravy a pokračovat nepodporuje:
Přidání catch, finally nebo trykolem aktivní příkaz blokovat.
Přidání obslužné podprocesy výjimek vnořené s větší než šest vnořených úrovní.
Změna kódu v rámci tryblok, který obsahuje aktivní příkaz.
Nepodporované scénáře
Úpravy a pokračovat není k dispozici v následujících scénářích ladění:
Ladění kódu LINQ.Další informace naleznete v tématu Edit and Continue Not Supported for LINQ.
Kombinovaný režim (nativní/spravované) ladění.
Ladění SQL.
Ladění Dr.Watson výpis.
Úpravy kódu po neošetřenou výjimku při "zásobník volání na neošetřené výjimky Unwind" není vybrána možnost.
Ladění vložený za běhu aplikace.
Ladění aplikace, která má připojit k namísto aplikace výběrem Start z ladění nabídce.
Ladění optimalizovaného kódu.
Pokud je cílovým 64bitových aplikací, ladění spravovaný kód.Chcete-li upravit používání a pokračovat, musíte nastavit cíl x 86.(ProjektuVlastnosti, kompilace kartě Advanced kompilátoru nastavení.)
Ladění starou verzi kódu po nové verze nelze vytvořit z důvodu chyby sestavení.
Viz také
Úkoly
Jak: použití úpravy a pokračovat (C#)