Zarážky: Použití počtu volání, funkcí zásobníku volání a podmínek k libovolnému přerušení v ladicím programu sady Visual Studio
Umožňuje nastavit zarážky pro řádky zdroje, pokyny sestavení a volání funkce zásobníku.Zadejte podmínky, počtu položek a provádění umístění.Tisk s tracepoints.Uložit a importovat zarážky.
Obsah
Vytvořit zarážek, které přerušit, pokud chcete, aby
Nastavení zarážky na řádku zdrojového pokyn sestavení nebo volání funkce zásobníku
Přístup k pokročilých funkcí aplikace zarážky
Zadat v případě, že zarážky dělí podle počet přístupů, vyhodnocení výrazu provádění umístění nebo změnit data
Tisk do v okně výstupu se tracepoints
Spravovat zarážky v okně zarážky
Poradce při potížích s zarážky
Odkaz na glyfy zarážky
Vytvořit zarážek, které přerušit, pokud chcete, aby
Standardní zarážky, které přerušit provádění ladicí program pokaždé, když je vstupů do umístění zdrojového souboru, jsou jedním z nejdůležitějších techniky ladění v panelu nástrojů developer.Visual Studio vám umožňuje přejít nad rámec standardní zarážky, chcete-li vytvořit jemně odstupňovanou kontrolu nad kdy a kde provede zarážky.
Můžete nastavit zarážky běhu, které zastavení provádění v případě, že váš program vrací na funkci při volání zásobníku a vyhnout se dlouhé řadu Krok ven příkazy.
Pokud se domníváte, že smyčku ve vašem kódu začne chovají po počet iterací, můžete nastavit zarážky k zastavení vykonávání po zadaný počet přístupů k související řádek kódu a vynucené opakovaně stiskněte klávesu F5 (ladění, Pokračovat) k dosažení úrovně iterace.
S použitím pomocí výrazů kódu, můžete určit přesné podmínky, v jakém dělí zarážky.
Můžete použít zarážky okna pro správu stavu a chování velký počet zarážky.Pokud jste si pečlivě zkonstruován posloupnost zarážky společné nebo obzvláště složité problém diagnostikovat, můžete uložit nebo sdílet tyto zarážky pomocí zarážky okno import a export příkazy.
Upozornění |
---|
Vyhněte se nastavení zarážky na systémových součástech při ladění kódu smíšeném režimu (nativní a spravované).Nastavení zarážky na systémové součásti během smíšeném režimu ladění, může způsobit common language runtime k rozdělení a ladicí program přestane reagovat. |
Nastavení zarážky na řádku zdrojového pokyn sestavení nebo volání funkce zásobníku
- Nastavení zarážky ve zdrojovém souboru • Nastavení zarážky na funkci návratový v okně zásobník volání • Nastavení zarážky na instrukce sestavení v okně zpětný překlad
Nastavení zarážky do zdrojového souboru
Zde jsou dva techniky pro nastavení standardní zarážky v okně zdroje:
Klikněte dvakrát na okraji okna na řádku, který chcete ukončit u.
-nebo-
Vyberte řádek a zvolte možnost F9.
Zarážky ikona bude zobrazena v oddělovací mezery.
Vizuálně trasování zarážky během provádění kódu, naleznete v článku Mapování metod v zásobníku volání při ladění v sadě Visual Studio.
Nastavení zarážky na řádku zdrojového pokyn sestavení nebo volání funkce zásobníku
Nastavení zarážky na funkce return v okně zásobník volání
Je možné zrušit provádění na pokyn nebo na řádek, který je volání funkce vrátí nastavením zarážky v zásobník volání okna.Ladicí program musí být v režimu přerušení.
Otevřít zásobník volání okna (Klávesová zkratka: Ctrl + Alt + C) a vyberte možnost volání funkce ukončit u.
Zvolte zarážky, Vložit zarážky v místní nabídce, nebo jen použijte klávesovou zkratku: F9.
Symbol zarážka se zobrazí v levému okraji vedle názvu volání funkce.
Otevřete-li zarážky okna (Klávesová zkratka: kombinaci kláves Ctrl + Alt + B) zarážka se zobrazí jako zarážky adresu s umístění paměti, která odpovídá další spustitelného souboru instrukcí ve funkci.Ladicí program dělí provádění u instrukce.
Vizuálně trasování zarážky během provádění kódu, naleznete v článku Mapování metod v zásobníku volání při ladění v sadě Visual Studio.
Nastavení zarážky na instrukce sestavení v okně zpětný překlad
Chcete-li nastavit zarážky na instrukce sestavení, musí být ladicí program v režimu přerušení.
Otevřít zpětný překlad okna (Klávesová zkratka: Ctrl + Alt + D).
Proveďte jednu z těchto akcí:
Klikněte dvakrát na okraji okna na řádku, který chcete ukončit u.
-nebo-
Vyberte řádek a zvolte možnost F9.
Nastavení zarážky na řádku zdrojového pokyn sestavení nebo volání funkce zásobníku
Přístup k pokročilých funkcí aplikace zarážky
V okně zdroje zásobník volání okna, nebo na Disasssembly okna, otevřete místní nabídku pro zarážky a zvolte možnost Vlastnosti. V okně zarážky vyberte řádek zarážky a otevřete místní nabídku.Můžete také nastavit některé podmínky přímo ve sloupci podmínka. |
Zadat v případě, že zarážky dělí podle počet přístupů, vyhodnocení výrazu provádění umístění nebo změnit data
- Zadejte nalezený počet, na kterém zarážky provede • určíte podmínku zarážky pomocí kódu výrazu • Určete zařízení, procesy nebo vlákna, k jejichž zarážky spouští na • Nastavení zarážky změnu dat (pouze nativní C++)
Zadat počet přístupů jakou provede zarážky
Objekt Počet volání si udržuje přehled o kolikrát je zasažení zarážky.Nastavit hodnotu a podmínku tak, aby zarážky provede, když se počet přístupů se rovná hodnotě, násobkem zadaná hodnota se rovná nebo je větší než nebo rovna hodnotě.Chcete-li určit počet přístupů a podmínky:
Otevřít zarážky počet vstupů do dialogového okna.
Ve zdroji zpětný překlad, nebo zásobník volání , vyberte řádek, který obsahuje zarážky a pak zvolte zarážky, počet vstupů do v místní nabídce.
-nebo-
V zarážky okna, vyberte řádek zarážky a poté zvolte možnost počet vstupů do v místní nabídce.
Vyberte podmínku a zadejte počet přístupů.
Počet, který podmínky jsou užitečné, pokud chcete rozdělit smyčku na určitý počet iterací volání.Pokud chcete zjistit počet pokusů, které je zasažení zarážky můžete také určit velmi velké množství, ale nechcete přerušit provádění.
Zadaný počet přístupů je uchována pouze pro relaci ladění.Když ladicí relaci skončí, počet přístupů je resetováno na nulu.
Zadat v případě, že zarážky dělí podle počet přístupů, vyhodnocení výrazu provádění umístění nebo změnit data
Zadat podmínku zarážky pomocí kódu výrazu
Objekt zarážky podmínku je výraz, který je vyhodnocován ladicí program, pokud není dosaženo zarážky.Pokud je splněna podmínka, ladicí program dělí provádění.
Podmínka může být libovolný platný výraz, který je rozpoznán ladicí program.V programu banka, například můžete nastavit zarážky podmínku jako například balance < 0.Další informace o platný výrazech naleznete v části výrazy v ladicí program.
Určíte podmínku, zarážky
Otevřete místní nabídku pro zarážky a zvolte stavu.
V zarážky podmínku dialogové okno Zadejte platný výraz v stavu pole.
Zvolte platí Pokud byste chtěli rozdělit při výraz je splněna, nebo zvolte možnost došlo ke změně Pokud byste chtěli přerušit při změně hodnoty výrazu.
Ladicí program se vyhodnotí výraz až po prvním je dosaženo zarážky.Pokud se rozhodnete došlo ke změně pro nativního kódu, ladicí program nezahrne první vyhodnocení stavu na změnu, aby zarážky nebude zasáhnout na první hodnocení.Pokud se rozhodnete došlo ke změně pro spravovaný kód je he zarážky zasáhnout na první hodnocení po došlo ke změně je vybrána.
Pokud nastavíte zarážky podmínku s neplatnou syntaxi, zobrazí se ihned upozornění.Pokud určíte podmínku, zarážky s platnou syntaxi, ale neplatný sémantiku, upozornění se zobrazí po prvním je zasažení zarážky.V obou případech ladicí program dělí provádění, když je neplatný zarážky přístupů.Zarážky přeskočen pouze v případě, že podmínka je platná a vyhodnotí na hodnotu false.
Zadat v případě, že zarážky dělí podle počet přístupů, vyhodnocení výrazu provádění umístění nebo změnit data
Určete zařízení, procesy nebo vlákna, k jejichž zarážky spouští na
Otevřete místní nabídku pro zarážky a zvolte filtru.
Zadejte kritéria filtru podle pokynů dialogového okna.
Zadat v případě, že zarážky dělí podle počet přístupů, vyhodnocení výrazu provádění umístění nebo změnit data
Nastavení zarážky změnu dat (pouze nativní C++)
Data zarážky přerušit provádění při zápisu hodnotu, která je uložena v určeném místě určenou paměť.Pokud je hodnota pro čtení, ale nebyl zapsán, nedojde k narušení provádění.Chcete-li nastavit zarážky dat, musí být ladicí program v režimu přerušení.
Na ladění nabídce zvolte nové zarážky, nové zarážky dat.
-nebo-
V zarážky nabídky okna, zvolte Nový, nové zarážky dat.
V Adresa zadejte adresu paměti nebo výraz, který je vyhodnocován na adresu paměti.
Můžete například zadat &avar o přerušení při obsahu proměnné avar změnit.
V počet bajtů zadejte počet bajtů, které chcete, aby ladicí program ke sledování.
Pokud zadáte například 4, ladicí program bude sledovat čtyři bajty počínaje &myFunction a přerušit, pokud žádné z těchto bajtů změňte hodnotu.
Chcete-li nastavit zarážky dat, musí být ladicí program v režimu přerušení.
Zarážky dat nejsou k dispozici v těchto podmínkách:
Je-li proces, který není právě laděn zapisuje do umístění v paměti
Je-li umístění v paměti jsou sdílena mezi dvě nebo více procesy.
Pokud dojde k aktualizaci umístění v paměti v rámci jádra.Například pokud paměti je předaný funkci 32bitová verze systému Windows ReadFile, paměť bude aktualizován z režimu jádra a ladicí program nedojde k narušení při zápisu paměti.
Adresy proměnných měnit z jednoho ladicí relaci na další.Z tohoto důvodu jsou automaticky zakázána zarážky dat na konci každé relaci ladění.
Pokud nastavíte zarážky data na místní proměnné, zůstane zarážky dat povolen, kdy končí funkce.Nicméně adresu paměti, kterou je nastaveno na již nemá stejný význam.Proto nepředvídatelné výsledky takové zarážky.Pokud nastavíte zarážky data na místní proměnné, nejlepší je a odeberte nebo zakažte zarážky před ukončením funkce.
Visual Studio podporuje maximálně čtyři zarážky dat za řešení.
Zadat v případě, že zarážky dělí podle počet přístupů, vyhodnocení výrazu provádění umístění nebo změnit data
Tisk do v okně výstupu se tracepoints
Tracepoints jsou jiným způsobem použití zarážky.Zarážky, který vytiskne zprávu, která je tracepoint výstupu okna.Tracepoint mohou sloužit jako příkaz dočasné trasování v programovacím jazyce.
Chcete-li vytisknout zprávu na existující zarážky, otevřete místní nabídku pro zarážky a zvolte Při zasažení.
Zadat zprávu pro tisk v Při je zasažení zarážky dialogového okna.
Zadejte zprávu
Mohou zahrnovat informace a programátorské ve zprávě s použitím syntaxe DebuggerDisplayAttribute (viz DebuggerDisplayAttribute).Zde najdete několik příkladů:
In function '{$FUNC}', on thread '{$TID}'
Used variable: {varName}, function name: {functionName($FUNC)}
Všechny klíčová slova, která jsou popsány v můžete používat Při je zasažení zarážky dialogového okna.Kromě toho můžete použít dva další klíčová slova, která nejsou zobrazeny v dialogovém okně:
$TICK Vloží aktuální počet impulsů procesoru
$FILEPOS Vloží aktuální pozice v souboru
Určete chování tracepoint
Chcete-li přerušit provádění, když je přístupů tracepoint, zrušte zaškrtnutí pokračovat v provádění zaškrtávací políčko.Při pokračovat v provádění je zaškrtnuto, provádění neskončí.V obou případech je vytištěno zprávy.
Zakázat tracepoint
Chcete-li dočasně zakázat tracepoint, zrušte zaškrtnutí vytisknout zprávu zaškrtávací políčko.
Spravovat zarážky v okně zarážky
- Export a import zarážky • Popisek zarážky
Téměř všechny funkce nastavit, konfigurovat a spravovat zarážky z zarážky okno je k dispozici na jednotlivé zarážky místech v sadě windows zdroje zásobník volání okna a zpětný překlad okna.Ale zarážky okna vám poskytnou centrální místo pro správu všech zarážky, což může být užitečná ve velkých řešení nebo komplexní ladění scénář, kde jsou kritické zarážky.Pokud potřebujete k uložení nebo sdílení stavu a umístění sady zarážky, můžete uložit a importovat soubory zarážky pouze z zarážky okna.
Spravovat zarážky v okně zarážky
Popisek zarážky
Zarážky popisky jsou použity pouze v zarážky okno Seřadit a filtrovat seznam zarážky.Chcete-li přidat popisek zarážky, zvolte zarážky řádku a pak zvolte popisek v místní nabídce.
Poradce při potížích s zarážky
- Ladicí program nelze určit zdrojového souboru pro zarážky • ladicí program nemůže najít správnou verzi zdrojového souboru pro zarážky • zarážky nejsou k dispozici v knihovně DLL
Ladicí program nelze určit zdrojového souboru pro zarážky
Pokud dvě nebo více zdrojové soubory v projektu mají stejný název, ladicí program může mít potíže s určením souborů, které zarážky je nastavena v.K tomu často dochází, je-li vytvořit modul se stejným názvem jako součást knihovny ladění, kterou vytváříte propojení.
Chcete-li tento problém odstranit, vyberte zarážky v okně zdroj a zvolte umístění v místní nabídce.
Zadejte úplnou cestu k souboru správné ve soubor pole
Poradce při potížích s zarážky
Ladicí program nemůže najít správnou verzi zdrojového souboru pro zarážky
Pokud zdrojový soubor byl změněn a zdroj již neodpovídá kódu, které jsou ladění, ladicí program může vyhledejte zdrojový soubor, který odpovídá zarážky, přestože zdrojový soubor existuje.
Pokud chcete, aby sady Visual Studio, chcete-li zobrazit zdrojový kód, který neodpovídá verzi jsou ladění, zvolte ladění, Možnosti a nastavení.Na ladění/Obecné zrušte používat pouze zdrojový kód, který přesně odpovídá původní verze možnost.
Můžete také navázat zarážky do zdrojového souboru.Vyberte zarážky a zvolte umístění v místní nabídce.Zkontrolujte Povolit zdrojový kód a lišit od původní verze v zarážky soubor dialogového okna.
Poradce při potížích s zarážky
Zarážky nejsou k dispozici v knihovně DLL
Nelze nastavit zarážky ve zdrojovém souboru Když ladicí program nebyla načtena informace o ladění pro modul kde je umístěna kód.Příznaky mohou zahrnovat zprávy, jako je například nelze nastavit bod přerušení.Zarážky glyf upozornění se zobrazí v umístění zarážky.Tyto zarážky upozornění však budou skutečný zarážky při načtení kódu.
Poradce při potížích s zarážky
Odkaz na glyfy zarážky
Windows zdroje a zpětný překlad okně Zobrazit zarážky umístění pomocí zobrazení symbolů volá glyfy do levého okraje.Následující tabulka popisuje tyto glyfů.
Pokud ukazatel myši na glyf zarážky, zobrazí se podrobnější informace popisu zarážky.Tyto informace jsou obzvláště užitečný, chyby a upozornění zarážky.
Piktogram |
Popis |
---|---|
Normální zarážky.Plné glyf označuje, že je povoleno zarážky.Prázdný glyf označuje, že je zakázán. |
|
Pokročilé zarážky.Aktivní/zakázáno.+ Znaménko znamená, že zarážky má alespoň jeden, které jsou k němu připojené upřesňující funkce (například podmínky, a poté klikněte na tlačítko počet nebo filtru). |
|
Namapované zarážky.Aktivní/zakázáno.Zarážky je nastavena v ASP /ASP.NET kód a namapován na zarážky na stránce odpovídající HTML nebo nastavit v souboru skriptu na straně serveru a namapovány na odpovídající soubor skriptu na straně klienta. |
|
Tracepoint.Aktivní/zakázáno.Tento bod stiskne provede zadanou akci, ale nedojde k narušení vykonávání programu. |
|
Pokročilé tracepoint.Aktivní/zakázáno.+ Znaménko znamená, že tracepoint má alespoň jeden, které jsou k němu připojené upřesňující funkce (například podmínky, a poté klikněte na tlačítko počet nebo filtru). |
|
Namapované tracepoint.Aktivní/zakázáno.V prostředí ASP je nastavena tracepoint /ASP.NET kód a namapovány na tracepoint odpovídající stránce HTML. |
|
Chyba zarážky nebo tracepoint.X označuje, že z důvodu chybového stavu nelze nastavit bod přerušení nebo tracepoint. |
|
Zarážky nebo tracepoint upozornění.Vykřičník zaškrtnuto, znamená to, že z důvodu dočasný stav nelze nastavit bod přerušení nebo tracepoint.Obvykle to znamená, že kód na umístění zarážky nebo tracepoint nebyla načtena.Lze jej také zobrazit, pokud se můžete připojit k procesu a symbolů pro tento proces nebudou načteny.Když kód nebo symboly jsou načteny, dojde k povolení zarážky a glyf změní. |
Viz také
Koncepty
Zastavení, pozastavení, krok, spuštění prostřednictvím kódu a ukončení ladění v sadě Visual Studio