Sdílet prostřednictvím


Použití souborů výpisu paměti k ladění selhání a zablokování aplikací v sadě Visual Studio

Soubory s výpisem paměti s nebo bez haldy –vytvořte soubor s výpisem, otevřete jej, vyhledejte binární soubory, PDB a zdrojový soubor souboru s výpisem.

Obsah

Co je soubor s výpisem paměti?

Soubory výpisu paměti, s haldou nebo bez haldy

Požadavky a omezení

Vytvoření souboru výpisu paměti

Otevřete souboru výpisu paměti

Najít binární soubory, soubory symbolů (PDB) a zdrojové soubory

Co je soubor s výpisem paměti?

Objekt souboru s výpisem najdete přehled aplikace v okamžiku v čase je výpis.Ukazuje, jaký proces probíhal a které moduly byly načteny.Pokud byl výpis paměti uložen s informacemi o haldě, soubor s výpisem paměti obsahuje snímek toho, co bylo v paměti aplikace v daném okamžiku.Otevření souboru s výpisem paměti pomocí haldy v sadě Visual Studio odpovídá zastavení na zarážce v ladicí relaci.Ačkoli nelze pokračovat v provádění, můžete zkoumat zásobníky, vlákna a proměnné hodnoty aplikace v době, kdy došlo k výpisu paměti.

Výpisy paměti se používají především pro ladění problémů, ke kterým dochází v počítačích, ke kterým nemá vývojář přístup.Můžete například použít soubor s výpisem paměti z počítače zákazníka, pokud nelze ve vašem počítači reprodukovat situaci, kdy produkt zákazníka selže nebo přestane reagovat.Výpisy paměti jsou vytvářeny také testery, kteří v nich ukládají data o zhroucení nebo zablokování, aby bylo možné testovací počítač použít pro další testování.Ladicí program Visual Studio může uložit soubory s výpisem paměti pro spravovaný nebo nativní kód.Ladicí program můžete načíst výpisu soubory, které byly vytvořeny pomocí sady Visual Studio nebo jinými aplikacemi, které ukládat soubory v minidump formátu.

Zpět na začátek Obsah

Soubory výpisu paměti, s haldou nebo bez haldy

Můžete vytvořit soubory s výpisem paměti s informacemi o haldě nebo bez nich.

  • Soubory s výpisem paměti s haldou obsahují snímek paměti aplikace.Zahrnuje hodnoty proměnných v době, kdy byl vytvořen výpis paměti.Pokud načtete soubor s výpisem paměti, který byl uložen s haldou, sada Visual Studio může načíst symboly i v případě, že binární soubor aplikace není nalezen.Visual Studio také ukládá binární verze načtených nativních modulů v souboru s výpisem paměti, díky čemu může být ladění mnohem snazší.

  • Soubory s výpisem paměti bez haldy jsou mnohem menší, než soubory s výpisem s informacemi o haldě.Ladicí program má však načíst binární soubory aplikace a nalézt tak informace o symbolu.Binární soubory musí být přesná shoda binárních souborů, které byly použity při vytvoření výpisu paměti.Pouze hodnoty proměnných zásobníku jsou ukládány do souborů výpisu paměti bez dat haldy.

Zpět na začátek Obsah

Požadavky a omezení

  • Ladění souborů s výpisem paměti pro optimalizaci kódu může být matoucí.Například vkládání funkcí kompilátoru může mít za následek neočekávané volání zásobníků a další optimalizace může upravit délku platnosti proměnných.

  • Soubory s výpisem paměti u 64bitových počítačů je nutné ladit v instanci aplikace Visual Studio, která běží na 64bitovém počítači.

  • Ve verzích sady Visual Studio před verzí 2013 výpisy paměti 32bitových aplikací běžících v 64bitových počítačích, které byly shromážděny pomocí některých nástrojů (například Správce úloh a WinDbg v 64bitové verzi) nelze otevřít v sadě Visual Studio.Toto omezení bylo ve verzi 2013 odebráno.

  • Visual Studio můžete ladit soubory s výpisem paměti nativních aplikaci ze zařízení ARM.Visual Studio může také ladit soubory s výpisem paměti aplikací spravovaných aplikace ze zařízení ARM, avšak pouze v nativním ladicím programu.

  • Pro ladění režimu jádra výpisu souborů v sadě Visual Studio 2013, stáhněte si Windows 8.1 verze z Debugging Tools for Windows.Podívejte se na téma ladění jádra v sadě Visual Studio.

  • Visual Studio nelze ladit souborů výpisu uloženy ve formátu starší výpisu označován jako Úplná uživatel – režim dump.Pamatujte, že výpis paměti s úplným uživatelským režimem není stejný jako výpis s daty haldy.

  • Chcete-li ladit s SOS.dll (rozšíření ladění SOS) v sadě Visual Studio, je nutné nainstalovat ladění nástroje pro Windows, který je součástí objektu Driver Kit WDK (Windows).Podívejte se na téma Windows 8.1 Preview: stáhnout sady, bity a nástroje.

Zpět na začátek Obsah

Vytvoření souboru výpisu paměti

Vytvoření souboru s výpisem paměti pomocí aplikace Visual Studio:

Můžete také vytvořit soubory s výpisem paměti pomocí libovolného programu, který podporuje formát minimálního výpisu Windows.Můžete například Procdump nástroj příkazového řádku z Windows Sysinternals můžete vytvořit proces soubory se stavem systému na základě Aktivace řízení fronty zpráv nebo na vyžádání.Podívejte se na téma požadavky a omezení v tomto tématu pro další informace o vytvoření výpisu souborů pomocí dalších nástrojů.

Zpět na začátek Obsah

Otevřete souboru výpisu paměti

  1. V sadě Visual Studio, zvolte soubor, Open, soubor.

  2. V Otevřít soubor dialogovém okně vyhledejte a vyberte soubor s výpisem.Obvykle má příponu .dmp.Pak zvolte OK.

  3. Souhrn souborů výpisu se zobrazí okno.V tomto okně můžete zobrazit souhrnné informace o ladění pro soubor s výpisem paměti, nastavit cestu symbolů, spustit ladění a souhrnné informace zkopírovat do schránky.

    Stránka Souhrn MiniDump

  4. Chcete-li začít, ladění, přejděte na Akce oddílu a zvolit buď Ladit se pouze nativní nebo Ladit se Mixed.

Najít binární soubory, soubory symbolů (PDB) a zdrojové soubory

Chcete-li používat úplné funkce aplikace Visual Studio pro ladění souboru s výpisem paměti, potřebujete přístup k:

  • Soubor .exe, pro který byl pořízen výpis paměti přijatých a další binárních souborů (knihovny DLL, atd.), které byly použity v procesu s výpisem paměti.

    Jestliže ladíte výpis paměti s daty haldy, sada Visual Studio se může vypořádat s chybějícími binárními soubory pro některé moduly, ale musí mít binární soubory pro dostatek modulů, aby mohla vygenerovat platné zásobníky volání.Visual Studio obsahuje nativní moduly v souboru s výpisem paměti s haldou.

  • Soubory symbolů (PDB) .exe a další binární soubory.

  • Zdrojové soubory pro moduly, které vás zajímají.

    Spustitelné soubory a soubory PDB musí odpovídat přesně verzi a sestavení souborů použitých při tvorbě výpisu paměti.

    Pokud nemůžete najít zdrojové soubory, můžete ladit pomocí zpětného překladu modulů,

Výchozí vyhledávací cesty pro spustitelné soubory

Visual Studio automaticky hledá v těchto umístěních spustitelné soubory, které nejsou zahrnuty v souboru s výpisem paměti:

  1. Adresář obsahující soubor s výpisem paměti.

  2. Cesta modulu, který je zadaný v souboru s výpisem paměti.Toto je cesta modulu v počítači, kde byl výpis paměti shromážděn.

  3. Symbol cesty zadané v ladění, Možnosti, symboly stránku sady Visual Studio Nástroje, Možnosti dialogového okna.Můžete přidat více míst pro vyhledávání na této stránce.

Používání stránek Ne binární / Symbol / Zdroj

Pokud sadu Visual Studio nemůže najít soubory potřebné pro ladění modulu v výpis stavu, zobrazí se příslušná stránky (č binární nalezen, nalezen symboly č, nebo Najít zdroj č).Tyto stránky obsahují podrobné informace o příčině problému a poskytují odkazy na akce, které vám mohou pomoci identifikovat správné umístění souborů.Podívejte se na téma Zadání symbolu (.pdb) a zdrojových souborů v ladicím programu sady Visual Studio.

Zpět na začátek Obsah

Viz také

Koncepty

Ladění za běhu v sadě Visual Studio

Ladění aplikace pomocí zaznamenávání provádění kódu s použitím technologie IntelliTrace

Další zdroje

Zadání symbolu (.pdb) a zdrojových souborů v ladicím programu sady Visual Studio