Sdílet prostřednictvím


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#)

Referenční dokumentace

Úpravy a pokračovat (Visual C#)

Úpravy a pokračovat chyby a varování (C#)