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.
V tomto článku získáte přehled o souborech s výpisem stavu systému v uživatelském režimu a o tom, jak je používat k řešení chyb a chybových ukončení.
Informace o analýze souboru s výpisem naleznete v tématu Analýza souboru s výpisem v uživatelském režimu.
Typy výpisových souborů v uživatelském režimu
K dispozici je několik typů souborů s výpisem stavu systému v uživatelském režimu. Různé typy souborů výpisu paměti jsou rozdělené do dvou kategorií:
Pomocí analýzy souboru s výpisem paměti můžete získat značné množství informací. Soubor s výpisem paměti ale nemůže poskytnout množství informací, které získáte z ladění chybového ukončení pomocí ladicího programu.
Úplné výpisy v uživatelském režimu
Úplný výpis stavu režimu uživatele je základní soubor výpisu stavu režimu uživatele. Úplný soubor výpisu stavu systému v uživatelském režimu zahrnuje:
- Celý paměťový prostor procesu.
- Spustitelný obrázek programu.
- Tabulka popisovačů.
- Další informace, které ladicímu programu pomáhají rekonstruovat paměť, která byla používána při výpisu paměti.
Úplný soubor s výpisem paměti v uživatelském režimu můžete zmenšit do minidumpu. Chcete-li zmenšit úplný soubor výpisu v uživatelském režimu, nejprve načtěte soubor výpisu do ladicího programu. Potom pomocí příkazu .dump (Create Dump File) uložte nový soubor s výpisem paměti ve formátu minidump.
Navzdory jejich názvům obsahuje největší minidump soubor více informací než úplný soubor s výpisem stavu systému v uživatelském režimu. Například příkazy .dump /mf a .dump /ma vytvářejí větší a úplnější soubory než příkaz .dump /f.
V uživatelském režimu .dump /mje [MiniOptions] často nejlepší volbou. Soubory s výpisem paměti, které vytvoříte pomocí tohoto přepínače, se můžou lišit od velmi malých po velmi velké. Zadáním správného přepínače MiniOptions můžete přesně určit, jaké informace jsou zahrnuty.
Minidumps
Velikost a obsah souboru minidump se liší v závislosti na programu, který je vyhazován, aplikaci provádějící výpočty a vybraných možnostech. Někdy je minidump soubor středně velký a obsahuje celý obsah paměti a tabulku popisovačů. Jindy je soubor minidump mnohem menší. Například soubor minidump může obsahovat pouze informace o jednom vlákně, nebo může obsahovat pouze informace o modulech, které jsou odkazovány v zásobníku.
Termín minidump je zavádějící, protože největší soubory minidump obsahují více informací než úplný soubor výpisu stavu v režimu uživatele.
.dump /mf Nebo .dump /ma například vytvoří větší a více úplný soubor než .dump /f. Z tohoto důvodu doporučujeme místo vytváření všech souborů výpisů v uživatelském režimu používat .dump /m[MiniOptions]..dump /f
Při vytváření minidump souboru pomocí ladicího programu můžete zvolit, které informace chcete zahrnout. Příkaz .dump /m obsahuje základní informace o načtených modulech, které tvoří cílový proces, informace o vláknech a informace o zásobníku. Základní příkaz můžete upravit pomocí některé z následujících možností přepínače:
možnost .dump |
Vliv na soubor s výpisem paměti |
|---|---|
/ma |
Vytvoří minidump se všemi volitelnými doplňky. Možnost /ma je ekvivalentní /mfFhut. Do minidumpu se přidávají úplná data paměti, data handle, informace o uvolněných modulech, základní informace o paměti a informace o čase vlákna. |
/mf |
Přidá do minidumpu úplná data paměti. Součástí jsou všechny přístupné potvrzené stránky vlastněné cílovou aplikací. |
/mF |
Přidá všechny základní informace o paměti do minidumpu. Tento přepínač přidá datový proud do minidumpu, který obsahuje všechny základní informace o paměti, nejen informace o platné paměti. Ladicí program na základě informací rekonstruuje kompletní rozložení virtuální paměti procesu při ladění minidumpu. |
/mh |
Přidá data o popisovačích přidružených k cílové aplikaci do minidumpu. |
/mu |
Přidá do minidumpu informace o nenahraných modulech. Tato možnost je dostupná jenom v systémech Windows Server 2003 a novějších verzích Systému Windows. |
/mt |
Přidá do minidumpu další informace o vlákně. Informace o vlákně zahrnují časy vlákna, které můžete při ladění minidumpu zobrazit pomocí .ttime (zobrazit časy vláken ). |
/mi |
Přidá sekundární paměť do minidumpu. Sekundární paměť je jakákoli paměť, na kterou odkazuje ukazatel na zásobník nebo záložní úložiště a malá oblast obklopující tuto adresu. |
/mp |
Přidá data bloku prostředí procesu a prostředí vlákna do minidumpu. Tyto informace můžou být užitečné, pokud potřebujete přístup k systémovým informacím systému Windows týkajícím se procesů a vláken aplikace. |
/mw |
Přidá všechny potvrzené soukromé stránky s oprávněním čtení a zápisu do minidumpu. |
/md |
Přidá do minidumpu všechny segmenty dat pro čtení i zápis ze spustitelného obrazu. |
/mc |
Přidá oddíly kódu uvnitř obrázků. |
/mr |
Odstraní z minidumpu části zásobníku a uložené paměti, které se nepoužívají k rekonstrukci trasování zásobníku. Odstraní se také místní proměnné a další hodnoty datového typu. Tato možnost nezmenšuje minidump (oddíly nepoužívané paměti jsou nulové), ale je užitečné, pokud chcete chránit soukromí jiných aplikací. |
/mR |
Odstraní úplné cesty k modulům z minidumpu. Zahrnou se jenom názvy modulů. Tato možnost je užitečná, pokud chcete chránit soukromí adresářové struktury uživatele. |
Tyto možnosti přepínače můžete kombinovat. Pomocí příkazu .dump /mfiu můžete například vytvořit středně velký minidump, který obsahuje uvolněnou a sekundární paměť. Pomocí příkazu .dump /mrR vytvořte minidump, který odebere některé informace uživatele. Úplné podrobnosti o syntaxi najdete v souboru .dump (Vytvoření souboru výpisu paměti).
Nástroje k použití k vytvoření souboru s výpisem paměti
K vytvoření souboru s výpisem stavu systému v uživatelském režimu můžete použít několik různých nástrojů:
ProcDump
ProcDump je nástroj příkazového řádku, který můžete použít k monitorování aplikace pro špičky procesoru a generování výpisů stavu systému během špičky. Správce nebo vývojář může k určení příčiny špičky použít soubory s výpisem stavu systému. Nástroj ProcDump také zahrnuje monitorování zablokovaných oken (podle stejné definice zaseknutí okna, kterou používá systém Windows a Správce úloh) a nezpracovaných výjimek. Pomocí nástroje ProcDump můžete generovat výpisy paměti na základě hodnot čítačů výkonu systému. ProcDump může také sloužit jako obecný nástroj pro výpis stavu procesu, který můžete vložit do jiných skriptů.
Informace o vytvoření souboru výpisu stavu systému uživatele pomocí nástroje Sysinternals ProcDump naleznete v tématu ProcDump.
WinDbg a CDB
Ladicí program konzoly (CDB) a Ladicí program systému Windows (WinDbg) jsou nástroje pro ladění, které jsou součástí sady Windows Software Development Kit a Windows Driver Kit. Informace o možnostech instalace naleznete v tématu Stažení a instalace ladicího programu systému Windows WinDbg.
Pomocí CDB nebo WinDbg můžete vytvářet soubory výpisu stavu systému v uživatelském režimu několika způsoby:
- Automaticky vytvořte soubor s výpisem paměti.
- Při ladění vytvořte soubory výpisu.
- Zmenšete existující dumpovací soubor.
Další informace o nástrojích naleznete v tématu Začínáme s laděním a laděním systému Windows pomocí CDB.
Automatické vytvoření souboru s výpisem paměti
Když dojde k chybě aplikace, systém Windows může reagovat jedním z několika způsobů v závislosti na nastavení ladění postmortem. Pokud tato nastavení dávají nástroji ladění pokyn k vytvoření souboru výpisu paměti, vytvoří se soubor výpisu paměti v uživatelském režimu. Další informace naleznete v tématu Povolení post-mortem ladění.
Vytváření souborů s výpisem paměti při ladění
Pokud CDB nebo WinDbg ladí aplikaci v uživatelském režimu, můžete k vytvoření souboru s výpisem paměti použít také příkaz .dump (Create Dump File ).
Tento příkaz nezpůsobí ukončení cílové aplikace. Výběrem konkrétních možností příkazu můžete vytvořit minidump soubor, který obsahuje přesně požadované množství informací.
Zmenšení existujícího souboru výpisu paměti
K zmenšení souboru s výpisem paměti můžete použít CDB nebo WinDbg. Pokud chcete zmenšit soubor s výpisem paměti, spusťte ladění existujícího souboru s výpisem paměti. Potom pomocí .dump příkazu vytvořte soubor s výpisem paměti menší velikosti.
Ladění cestování v čase
Další možností ladění aplikací v uživatelském režimu je Time Travel Debugging (TTD). TTD je nástroj, který můžete použít k zaznamenání procesu během jeho spuštění. Můžete přehrát záznam relace ladicího programu a najít chybu. Můžete snadno přejít na různé části záznamu, abyste porozuměli podmínkám, které vedly k chybě a jak problém vyřešit.
TTD má významné výhody oproti souborům s výpisem stavu systému, které často chybí spuštění kódu, které vedlo k selhání. Schopnost cestovat zpět při provádění kódu může být užitečná při určování původní příčiny.
Další informace najdete v přehledu ladění časových cest.
Viz také
- Zjistěte, jak analyzovat soubor s výpisem stavu systému v uživatelském režimu.
- Získejte tipy pro extrahování informací ze souboru s výpisem.