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.
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.
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.
Obsah
Vytvoření souboru výpisu paměti
Vytvoření souboru s výpisem paměti pomocí aplikace Visual Studio:
Při ladění procesu v aplikaci Visual Studio, můžete uložit soubor s výpisem paměti, když se ladicí program zastaví na výjimce nebo v bodu přerušení.Zvolte uložení výpisu jako, ladění.V Uložit výpis jako dialogovém Uložit jako typ seznamu můžete vybrat Minidump nebo Minidump s haldy (výchozí).
S Ladění za běhu v sadě Visual Studio povoleno, můžete připojit ladicí program takový proces, který je spuštěn mimo ladicí program a poté uložte soubor s výpisem.Podívejte se na téma Připojení ke spuštěným procesům pomocí ladicího programu sady 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ů.
Obsah
Otevřete souboru výpisu paměti
V sadě Visual Studio, zvolte soubor, Open, soubor.
V Otevřít soubor dialogovém okně vyhledejte a vyberte soubor s výpisem.Obvykle má příponu .dmp.Pak zvolte OK.
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.
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:
Adresář obsahující soubor s výpisem paměti.
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.
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.
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