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.
Zarážka je umístění ve spustitelném kódu, ve kterém operační systém zastaví provádění a rozdělí se do ladicího programu. To vám umožní analyzovat příkazy cílového a problémového ladicího programu.
Umístění zarážky můžete zadat podle virtuální adresy, modulu a rutinního posunu nebo zdrojového souboru a čísla řádku (v režimu zdroje). Pokud umístíte zarážku na rutinu bez posunu, zarážka se aktivuje při vstupu do této rutiny.
Existuje několik dalších druhů příkazových přerušení.
Bod přerušení může být přidružen k určitému vláknu.
Zarážka může před aktivací povolit pevný počet průchodů adresou.
Bod přerušení může při aktivaci automaticky vydávat určité příkazy.
Zarážku lze nastavit na nespustitelnou paměť a sledovat, zda je na toto umístění čteno nebo zapisováno.
Pokud ladíte více než jeden proces v uživatelském režimu, závisí sada zarážek na aktuálním procesu. Pokud chcete zobrazit nebo změnit zarážky procesu, musíte tento proces vybrat jako aktuální proces. Další informace o aktuálním procesu naleznete v tématu Řízení procesů a vláken.
Příkazy ladicího programu pro řízení a zobrazení zarážek
K řízení nebo zobrazení zarážek můžete použít následující metody:
Pomocí příkazu bl (Seznam zarážek) zobrazte seznam existujících zarážek a jejich aktuální stav.
Pomocí příkazu .bpcmds (Zobrazit příkazy zarážky) zobrazte seznam všech zarážek spolu s příkazy, které byly použity k jejich vytvoření.
K nastavení nového bodu přerušení použijte příkaz bp (Set Breakpoint).
K nastavení nového přerušení použijte příkaz bu (Set Unresolved Breakpoint). Zarážky nastavené s bu se nazývají nevyřešené zarážky; mají jiné vlastnosti než zarážky nastavené s bp. Úplné podrobnosti najdete v tématu Nevyřešené přerušení (bu Breakpoints).
Pomocí příkazu bm (Nastavit zarážku symbolu) nastavte nové zarážky u symbolů, které odpovídají zadanému vzoru. Sada bodů přerušení s bm bude přiřazena k adrese (jako bod přerušení bp), pokud je zahrnut přepínač /d; pokud tento přepínač zahrnut není, zůstane nepřiřazena (jako bod přerušení bu).
Pomocí příkazu ba (Break on Access) nastavte zarážku procesoru, která se označuje také jako zarážka dat. Tyto zarážky je možné aktivovat při zápisu umístění paměti do, při čtení, při jeho spuštění jako kódu nebo při výskytu vstupně-výstupních operací jádra. Úplné podrobnosti najdete v tématu Zarážky procesoru (ba Zarážky).
Pomocí příkazu bc (Breakpoint Clear) trvale odeberte jednu nebo více zarážek.
Pomocí příkazu bd (Breakpoint Disable) dočasně zakážete jednu nebo více zarážek.
Pomocí příkazu be (Breakpoint Enable) znovu povolit jeden nebo více zakázaných breakpointů.
Pomocí příkazu br (Přenumerace bodu přerušení) změňte ID existujícího bodu přerušení.
Pomocí příkazu bs (Update Breakpoint Command) změňte příkaz přidružený k existující zarážce.
Pomocí příkazu bsc (Aktualizovat podmíněnou zarážku) změňte podmínku, pod kterou se vyskytuje existující podmíněná zarážka.
Ve WinDbg existuje několik prvků uživatelského rozhraní, které usnadňují ovládání a zobrazení zarážek. Viz Nastavení zarážek v WinDbg (Classic).
Každá zarážka má desetinné číslo, které se nazývá ID zarážky. Toto číslo identifikuje bod přerušení v různých příkazech.
Příkazy zarážek
Můžete zahrnout příkaz do bodu přerušení, který se automaticky provede, když je bod přerušení zasažen. Například následující příkaz nastaví bod přerušení na MyFunction+0x47, vytvoří soubor s výpisem (dump soubor) a poté obnoví provádění.
0:000> bu MyFunction+0x47 ".dump c:\mydump.dmp; g"
Poznámka Pokud řídíte ladicí program uživatelského režimu z ladicího programu jádra, nepoužívejte v řetězci příkazu zarážky g (Go ). Sériové rozhraní nemusí být schopné s tímto příkazem držet krok, a proto se možná nebudete moci vrátit do CDB. Pro více informací o této situaci viz Ovládání ladicího programu User-Mode z prostředí ladicího programu jádra.
Počet zarážek
V režimu jádra můžete použít maximálně 32 softwarových bodů přerušení. V uživatelském režimu můžete použít libovolný počet zarážek softwaru.
Počet podporovaných zarážek procesoru závisí na architektuře cílového procesoru.
Podmíněné přerušení programu
Můžete nastavit bod přerušení, který se aktivuje jen za určitých podmínek. Další informace o těchto typech zarážek naleznete v tématu Nastavení podmíněné zarážky.
Nejednoznačné zarážky
Ve verzi 10.0.25310.1001 a novějších ladicího modulu je nyní podporováno řešení nejednoznačných zarážek. Nejednoznačné zarážky umožňují ladicímu programu nastavit zarážky v určitých scénářích, kdy se výraz zarážky vyřeší na více míst. Další informace naleznete v tématu řešení nejednoznačného breakpointu.