Sdílet prostřednictvím


Analýza výpisového souboru User-Mode

Tento článek obsahuje:

Analýza dump souboru User-Mode pomocí WinDbg

Soubory výpisu paměti v uživatelském režimu můžete analyzovat pomocí WinDbg. Verze procesoru nebo Windows, která vytvořila soubor s výpisem paměti, se nemusí shodovat s platformou, na které používáte WinDbg.

Instalace souborů symbolů

Než začnete analyzovat soubor výpisu paměti, získejte přístup k souborům symbolů pro verzi Systému Windows, která vygenerovala soubor s výpisem paměti. Ladicí program, který si vyberete k analýze souboru s výpisem, používá tyto soubory. Informace o práci se serverem symbolů naleznete v tématu Veřejné symboly společnosti Microsoft.

Musíte také nainstalovat všechny soubory symbolů pro proces uživatelského režimu, buď aplikaci nebo systémovou službu, která způsobila, že systém vygeneroval soubor s výpisem paměti. Pokud jste napsali tento kód, soubory symbolů se vygenerují při kompilaci a propojení kódu. Pokud je tento kód komerční, obraťte se na výrobce softwaru a zjistěte, jestli jsou soubory symbolů k dispozici.

Spuštění WinDbg

Chcete-li analyzovat výpisový soubor, spusťte WinDbg s přepínačem příkazového řádku -z.

windbg -ySymbolPath-iImagePath-zDumpFileName

Možnost -v (podrobný režim) je také užitečná. Úplný seznam možností viz WinDbg Command-Line Možnosti.

Pokud je WinDbg již spuštěný a v režimu spánku, můžete otevřít výpis stavu systému výběrem souboru | Otevřete příkaz nabídky výpisu stavu systému nebo stiskněte CTRL+D. Když se zobrazí dialogové okno Otevřít výpis stavu systému, zadejte úplnou cestu a název souboru s výpisem stavu systému do textového pole Název souboru nebo pomocí dialogového okna vyberte správnou cestu a název souboru. Při výběru správného souboru vyberte Otevřít.

Po spuštění ladicího programu můžete také otevřít soubor s výpisem paměti pomocí příkazu .opendump (Open Dump File), poté g (Go).

Můžete ladit více souborů výpisu najednou. Pokud to chcete udělat, přidejte do příkazového řádku více -z přepínačů (za každým následuje jiný název souboru) nebo použijte .opendump k přidání dalších souborů výpisu paměti jako cílů ladicího programu. Informace o řízení relace s více cíli naleznete v tématu Ladění více cílů.

Výpisové soubory obvykle mají příponu .dmp nebo .mdmp. Pro soubor výpisu paměti můžete použít síťové sdílené složky nebo názvy souborů UNC (Universal Naming Convention).

Soubory s výpisem paměti se běžně zabalí do souboru CAB. Pokud zadáte název souboru (včetně přípony .cab) za možnost -z nebo jako argument příkazu .opendump, ladicí program je schopen číst soubory výpisu paměti přímo ze souboru CAB. Pokud však existuje více souborů s výpisem paměti uložených v jednom souboru CAB, může ladicí program číst pouze jeden z nich. Ladicí program nečte žádné další soubory z archivu CAB, i když tyto soubory obsahují symboly nebo spustitelné soubory přidružené k souboru s výpisem.

Analýza úplného výpisového souboru uživatele

Analýza úplného uživatelského výpisu se podobá analýze živé ladicí relace. Podrobnosti o příkazech dostupných pro ladění souborů výpisu paměti v uživatelském režimu najdete v referenční části Příkazy ladicího programu.

Analýza minidumpových souborů

Analýza souboru minidump uživatelského režimu se provádí stejným způsobem jako analýza úplného uživatelského výpisu. Vzhledem k tomu, že minidump zachovává mnohem méně paměti, jste omezeni v akcích, které můžete provést. Příkazy, které se pokusí získat přístup k paměti nad rámec toho, co je zachováno v souboru minidump, nefungují správně.

Další techniky

Pro techniky, které můžete použít ke čtení konkrétních druhů informací ze souboru s výpisem paměti, viz Extrahování informací ze souboru s výpisem paměti.

Analýza souboru s výpisem User-Mode pomocí CDB

CdB můžete použít k analýze souborů výpisu paměti v uživatelském režimu. Verze procesoru nebo Windows, která vytvořila soubor s výpisem paměti, se nemusí shodovat s platformou, na které používáte CDB.

Instalace souborů symbolů

Než začnete analyzovat soubor výpisu paměti, získejte přístup k souborům symbolů pro verzi Systému Windows, která vygenerovala soubor s výpisem paměti. Ladicí program, který si vyberete k analýze souboru s výpisem paměti, používá tyto soubory. Informace o práci se serverem symbolů naleznete v tématu veřejné symboly Microsoftu.

Musíte také nainstalovat všechny soubory symbolů pro proces uživatelského režimu, buď aplikaci nebo systémovou službu, která způsobila, že systém vygeneroval soubor s výpisem paměti. Pokud jste napsali tento kód, soubory symbolů se vygenerují při kompilaci a propojení kódu. Pokud je tento kód komerční, obraťte se na výrobce softwaru a zjistěte, jestli jsou soubory symbolů k dispozici.

Spuštění CDB

Pokud chcete analyzovat soubor s výpisem paměti, spusťte CDB s možností -z příkazového řádku:

cdb -ySymbolPath-iImagePath-zDumpFileName

Možnost -v (podrobný režim) je také užitečná. Úplný seznam možností naleznete v tématu CDB Command-Line Možnosti.

Po spuštění ladicího programu můžete také otevřít soubor s výpisem paměti pomocí příkazu .opendump (Open Dump File) a potom g (Go). Tento příkaz umožňuje současně ladit více souborů s výpisem paměti.

Můžete ladit více výpisů paměti najednou. Pokud to chcete udělat, přidejte do příkazového řádku více -z přepínačů (za každým následuje jiný název souboru) nebo použijte .opendump k přidání dalších souborů výpisu paměti jako cílů ladicího programu. Informace o řízení relace s více cíli naleznete v tématu Ladění více cílů.

Soubory s výpisem paměti obvykle končí příponou .dmp nebo .mdmp. Pro soubor výpisu paměti můžete použít síťové sdílené složky nebo názvy souborů UNC (Universal Naming Convention).

Soubory s výpisem paměti se běžně zabalí do souboru CAB. Pokud za možnost -z zadáte název souboru (včetně přípony .cab), nebo jako argument k příkazu .opendump, může ladicí program číst soubory výpisu paměti přímo z CAB. Pokud však existuje více souborů s výpisem paměti uložených v jednom souboru CAB, ladicí program může číst jen jeden ze souborů. Ladicí program nečte žádné další soubory z CAB, ani když jde o soubory symbolů nebo spustitelné soubory přidružené k souboru s výpisem paměti.

Analýza úplného souboru uživatelského výpisu

Analýza úplného uživatelského výpisu se podobá analýze živé relace debugování. Podrobnosti o příkazech dostupných pro ladění souborů výpisu paměti v uživatelském režimu najdete v referenční části Příkazy ladicího programu.

Analýza minidumpových souborů

Analýza souboru minidump uživatelského režimu se provádí podobným způsobem jako úplný výpis uživatele. Vzhledem k tomu, že minidump zachovává mnohem méně paměti, jste omezeni v akcích, které můžete provést. Příkazy, které se pokusí o přístup k paměti nad rámec toho, co soubor minidump zachovává, nefungují správně.

Další techniky

Techniky, které můžete použít ke čtení konkrétních druhů informací ze souboru s výpisem paměti, najdete v tématu Extrahování informací ze souboru s výpisem paměti.