Sdílet prostřednictvím


Ladění Just-In-Time

Ladění Just-In-Time Visual Studio automaticky spustí dojde výjimku nebo zhroucení aplikace spuštěné mimo Visual Studio.To umožňuje testovat aplikaci, pokud není spuštěna aplikace Visual Studio a začít ladění Visual Studio při výskytu problému.

-In-Time ladění pro apps úložiště systému Windows.-In-Time ladění pro spravovaný kód, který je umístěn v nativní aplikaci, například Visualizers.

Použití Just In Time ladění

Při instalaci aplikace Visual Studio, Just In Time je ve výchozím nastavení povoleno ladění.Je nutné zakázat nebo ladění Just-In-Time znovu povolit, naleznete v Povolení nebo zakázání Just In Time ladění.

Když Just In Time je povoleno ladění, můžete testovat aplikaci mimo Visual Studio.Pokud dojde k chybě nebo výjimce, zobrazí se že zobrazí dialogové okno se zprávou, která vypadá takto:

Došlo k neošetřené výjimce (System.TypeInitializationException) terrarium.exe[3384]

Při tomto dialogovém okně můžete začít ladění pomocí následujícího postupu.

Začněte při chybě ladění Just In Time dochází

  1. V dialogovém okně ladění JIT v Možné ladicí programy klepněte na položku novou instanci aplikace Visual Studio 2012 nebo klepněte na instanci Visual Studio, která je již spuštěna.

  2. Visual Studio pro všechny budoucí dojde automaticky použít, klepněte na tlačítko vybrané ladicí program jako výchozí nastavit.

  3. Pokud chcete zvolit, jaké typy kódu bude možné ladit, klepněte na tlačítko ručně zvolit ladění motorů.Pokud tuto možnost nevyberete, Visual Studio automaticky vybere vhodné ladění motorů pro typ kódu v programu.

  4. Klikněte na tlačítko OK.

  5. Pokud aplikace obsahuje sestavení s nedůvěryhodnými, zobrazí se dialogové okno upozornění zabezpečení.Toto dialogové okno umožňuje rozhodnout, zda pokračovat v ladění.Před pokračováním ladění rozhodněte, zda důvěřujete kód.Píšete kód sami?Důvěřovat kodér?Pokud je aplikace spuštěna ve vzdáleném počítači, můžete k rozpoznat název procesu?I v případě, že aplikace je spuštěn místně, která nutně neznamená mohou být důvěryhodné.Aplikace Internet Explorer například nebezpečný ovládací prvek ActiveX může být spuštěna.Zvážit možnost takového škodlivého kódu v počítači spuštěn.Pokud se rozhodnete, že kód se chystáte ladění je důvěryhodný, klepněte na tlačítko ladění.Jinak klepněte na tlačítko Není ladění.

Povolení nebo zakázání Just In Time ladění

Můžete povolit nebo zakázat z ladění Just In Time Možnosti dialogové okno.

Chcete-li povolit nebo zakázat Just In Time ladění

  1. V nabídce Nástroje klikněte na příkaz Možnosti.

  2. V Možnosti vyberte položku ladění složky.

  3. V ladění složku, vyberte Just In Time stránku.

  4. V ladění JIT povolení těchto typů kódu zaškrtněte nebo zrušte zaškrtnutí odpovídajícího programu typy: spravované, nativní, nebo skript.

    Zakázat, jakmile bylo povoleno ladění Just In Time, musí být spuštěn s oprávněními správce.Just In Time povolení ladění nastaví klíč registru a změnit klíč jsou požadována oprávnění správce.

  5. Klikněte na tlačítko OK.

Model Windows Forms aplikace mají ve výchozím nastavení popisovač nejvyšší úrovně výjimky, která umožňuje program nadále spuštěn, pokud lze obnovit.V důsledku toho musí provést následující kroky k Just In Time povolit ladění aplikace model Windows Forms.

Chcete-li povolit Just In Time ladění formuláře systému Windows

  1. Nastavit jitDebugging hodnotu true v v system.windows.form části machine.config nebo aplikace. exe.config souborů:

    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>
    
  2. V aplikaci C++ formuláře systému Windows, musíte také nastavit DebuggableAttribute v souboru .config, nebo v kódu.Jestliže kompilace s /Zi a bez /Og, kompilátor automaticky nastaví tento atribut.Pokud chcete ladit-optimalizované verzi sestavení, však musíte vyřešit sami.To lze provést přidáním následujícího řádku vám při AssemblyInfo.cpp souboru aplikace:

    [assembly:System::Diagnostics::DebuggableAttribute(true, true)]; 
    

    Další informace naleznete v tématu DebuggableAttribute.

Ladění Just-In-Time může nadále povolené i v případě, že je v počítači již nainstalována Visual Studio.Pokud není nainstalována aplikace Visual Studio, nelze zakázat z aplikace Visual Studio ladění Just In Time Možnosti dialogové okno.V takovém případě můžete zakázat úpravou registru systému Windows ladění Just In Time.

Chcete-li zakázat pomocí úpravy registru ladění Just In Time

  1. Na Start nabídce, Hledat a spustit regedit.exe

  2. V Editor registru okně vyhledejte a odstraňte následující klíče registru:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger

  3. Pokud počítač běží 64bitový operační systém, odstraňte také následující klíče registru:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger

  4. Dávejte pozor, abyste neúmyslně odstranit nebo změnit žádné klíče registru.

  5. Zavřít Editor registru okna.

Ladění chyb-In-Time

Může se zobrazit následující chybové zprávy, které jsou spojeny s Just In Time ladění.

  • V <program> došlo k výjimce neošetřené win32. Just-In-Time ladění tato výjimka se nezdařilo s následující chybou: přihlášený uživatel nemá přístup k ladění aplikací aplikace.

    Tato zpráva znamená, že Just In Time ladění se nezdařil, protože nemáte správná oprávnění.Informace o potřebná oprávnění, viz Remote Debugging Permissions.

  • Nelze připojit k procesu aplikací.Zadaný program není program systému Windows nebo MS-DOS.

    K této chybě dochází při pokusu připojit k procesu, jako jiný uživatel v systému Windows 2000.

    Chcete-li vyřešit tento problém, spusťte aplikaci Visual Studio otevřete připojit k procesu dialogové okno ladění nabídky a najít proces ladění v Dostupné procesy seznam.Pokud neznáte název procesu, Visual Studio Debugger JIT dialogu a poznamenejte si identifikátor procesu.Vyberte v procesu Dostupné procesy seznamu a klepněte na tlačítko Attach.V Visual Studio Debugger JIT dialogové okno, klepněte na tlačítko Č zavřete dialogové okno.

  • Ladicí program nelze spustit, protože je přihlášen žádný uživatel.

    K této chybě dochází, když Just In Time ladění pokusí spustit aplikaci Visual Studio v počítači kde není žádný uživatel přihlášený ke konzole.Protože je přihlášen žádný uživatel, neexistuje žádná relace uživatele Just In Time zobrazí dialogové okno ladění.

    Chcete-li tento problém vyřešit, přihlášení počítače.

  • Třída není zaregistrovaná.

    Tato chyba označuje, že ladicí program se pokusil vytvořit třídu COM, která není registrována, pravděpodobně z důvodu potíží instalace.

    Chcete-li tento problém vyřešit, použijte instalační disk přeinstalovat nebo opravit instalaci aplikace Visual Studio.

Viz také

Referenční dokumentace

Just-In-Time, ladění, dialogové okno Možnosti

Upozornění zabezpečení: Připojování k procesu vlastněných nedůvěryhodný uživatel může být nebezpečné. Pokud si nejste jisti, následující informace vypadá podezřele, nepřipojujte tento proces

Koncepty

Zabezpečení Debugger

Další zdroje

Přehled Debugger