Začínáme s laděním Windows
Tento článek popisuje, jak začít s laděním pro Windows. Pokud vaším cílem je použít ladicí program k analýze výpisu stavu systému, přečtěte si téma Analýza souborů s výpisem stavu systému pomocí winDbg.
Pokud chcete začít s laděním Windows, proveďte následující kroky.
1. Instalace ladicího programu systému Windows
Informace o instalaci WinDbg naleznete v tématu Instalace winDbg.
2. Identifikace hostitelských a cílových systémů
K ladění se obvykle používají dva samostatné počítačové systémy, protože během procesu se obvykle pozastaví provádění instrukcí na procesoru. Ladicí program běží na hostitelském systému a kód, který chcete ladit, běží v cílovém systému.
Hostitel <--------------------------------------------------> Cíl
V některých situacích je možné jako druhý systém použít virtuální počítač. Například virtuální počítač může běžet na stejném počítači jako kód, který potřebujete ladit. Pokud ale váš kód komunikuje s hardwarem nízké úrovně, nemusí být použití virtuálního počítače nejlepším přístupem. Další informace naleznete v tématu Nastavení ladění sítě virtuálního počítače – KDNET.
3. Určení typu ladicího programu: režim jádra nebo uživatelský režim
Dále je potřeba určit, jestli se má použít režim jádra nebo ladění v uživatelském režimu.
Operační systém a privilegované programy běží v režimu jádra . Kód v režimu jádra má oprávnění pro přístup k jakékoli části systému a není omezený jako kód v uživatelském režimu. Kód v režimu jádra může získat přístup k jakékoli části jakéhokoli jiného procesu spuštěného v uživatelském režimu nebo v režimu jádra. Většina základních funkcí operačního systému a mnoho ovladačů hardwarových zařízení běží v režimu jádra.
Aplikace a subsystémy v počítači běží v uživatelském režimu . Procesy, které běží v uživatelském režimu, to dělají ve svých vlastních virtuálních adresních prostorech. Přístup k mnoha částem systému, včetně systémového hardwaru, paměti, která není přidělena pro jejich použití, a dalších částí systému, které by mohly ohrozit integritu systému, jsou omezené. Procesy, které běží v uživatelském režimu, jsou efektivně izolované od systému a od jiných procesů uživatelského režimu, takže nemůžou narušovat tyto prostředky.
Pokud vaším cílem je ladit ovladač, určete, jestli je ovladač ovladačem v režimu jádra nebo ovladačem v uživatelském režimu. Ovladače Windows Driver Model (WDM) a Rámec ovladače Kernel-Mode (KMDF) jsou ovladače v režimu jádra. Jak název napovídá, ovladače User-Mode Driver Framework (UMDF) jsou ovladače uživatelského režimu.
U některých problémů může být obtížné určit, ve kterém režimu se kód spouští. V takovém případě možná budete muset vybrat jeden režim a zjistit, jaké informace jsou v tomto režimu dostupné. Některé problémy vyžadují použití ladicího programu v uživatelském režimu i v režimu jádra.
V závislosti na tom, v jakém režimu ladíte, možná budete muset nakonfigurovat a používat ladicí programy různými způsoby. Některé příkazy ladění fungují stejně v obou režimech a některé příkazy fungují jinak.
Další informace o používání ladicího programu v režimu jádra:
- Začínáme s WinDbg (režimem jádra)
- ladění univerzálních ovladačů: podrobné cvičení (režim jádra echo)
- ovladače ladění: podrobné cvičení (režim jádra Sysvad)
Přečtěte si další informace o používání ladicího programu v uživatelském režimu:
4. Zvolte prostředí ladicího programu
Ladicí program WinDbg funguje ve většině situací dobře, ale někdy můžete chtít použít jiný ladicí program, například ladicí programy konzoly pro automatizaci nebo Visual Studio. Další informace naleznete v sekci Prostředí pro ladění.
5. Zjistěte, jak připojit cíl a hostitele.
Cílové a hostitelské systémy jsou obvykle propojeny sítí Ethernet. Pokud pracujete na počátečním zavádění, nebo na zařízení nemáte připojení k síti Ethernet, jsou k dispozici další možnosti síťového připojení. Další informace najdete v těchto článcích:
6. Zvolte 32bitové nebo 64bitové nástroje pro ladění.
Bez ohledu na to, jestli potřebujete 32bitový nebo 64bitový ladicí program, závisí na verzi Windows, která běží na cílovém a hostitelském systému a jestli ladíte 32bitový nebo 64bitový kód. Další informace naleznete v tématu volba 32bitové nebo 64bitové nástroje ladění.
7. Konfigurace symbolů
Pokud chcete použít všechny pokročilé funkce, které WinDbg poskytuje, musíte načíst správné symboly. Pokud nemáte správně nakonfigurované symboly, obdržíte zprávy, které indikují, že symboly nejsou při pokusu o použití funkcí, které jsou závislé na symbolech, k dispozici. Další informace naleznete v tématu Symboly pro ladění systému Windows.
8. Konfigurace zdrojového kódu
Pokud vaším cílem je ladit vlastní zdrojový kód, musíte nakonfigurovat cestu ke zdrojovému kódu. Další informace naleznete v tématu cesta zdroje.
9. Seznamte se s operací ladicího programu
Část ladicího programu v této dokumentaci popisuje provoz ladicího programu pro různé úlohy. Například Uchovávání souboru protokolu ve WinDbg popisuje, jak WinDbg může zaznamenávat ladicí relaci do souboru protokolu.
10. Seznamte se s technikami ladění
Standardní techniky ladění platí u většiny scénářů ladění, a to včetně nastavení zarážek, zkoumání zásobníku volání a nalezení úniku paměti. specializované techniky ladění se aplikují na konkrétní technologie nebo typy kódu. Mezi příklady patří ladění Plug and Play, ladění KMDF a ladění RPC.
11. Použití referenčních příkazů ladicího programu
Při práci v ladicím programu můžete použít různé ladicí příkazy. Pomocí příkazu .hh v ladicím programu zobrazte užitečné informace o libovolném příkazu ladění. Další informace o dostupných příkazech viz referenční příručka ladicího programu.
12. Použití rozšíření ladění pro konkrétní technologie
K analýze datových struktur specifických pro doménu lze použít několik ladicích rozšíření. Další informace naleznete v tématu Specializované rozšíření. Načítání rozšiřujících knihoven DLL ladicího programu vysvětluje, jak načíst rozšíření ladicího programu.
13. Přečtěte si o souvisejících interních systémech Windows.
Tato dokumentace předpokládá, že máte určité znalosti o základních interních systémech Windows. Další informace o interních systémech Windows, včetně využití paměti, kontextu, vláken a procesů, najdete v materiálech, jako jsou Interní Windows Od Pavla Yosifovicha, Marka E. Russinovicha, Davida A. Solomona a Alexe Ionescua.
14. Kontrola dalších prostředků debugování
Mezi další zdroje patří následující knihy a videa:
- Uvnitř ladění Windows: Praktické strategie ladění a trasování od Tarik Soulami
- Rozšířené ladění Windows od Maria Hewardta a Daniela Pravata
- Defrag Tools videosérie, epizody 13 až 29, všechno o WinDbg
Viz také
- Začínáme s WinDbg (režimem jádra)
- Začínáme s WinDbg (uživatelským režimem)
- zvolit 32bitové nebo 64bitové nástroje pro ladění
- prostředí ladění
- Nastavení ladění (režim jádra a uživatelský režim)
- Ladění univerzálních ovladačů – podrobné cvičení (režim jádra echo)
- ovladače ladění – podrobné cvičení (režim jádra Sysvad)