Popis.PDB soubory a.Soubory DBG

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:121366
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Souhrn
Na.Rozšíření PDB zkratka "databáze programu." Obsahuje nový formátpro ukládání informace o ladění, který byl zaveden v jazyce C++verze 1.0. V budoucnu.Soubor PDB bude uchovávat také jiné projektuinformace o stavu. Jedním z nejdůležitějších podněty pro změnuformát byl Povolit přírůstkové propojení ladicí verze programů,Změna poprvé zaveden v aplikaci Visual C++ verze 2.0.

Na.Rozšíření DBG zkratka "ladění". Na.Soubory DBG vytvořené pomocí32bitové NT toolset jsou ve formátu Portable spustitelný soubor (PE).Obsahují oddíly s COFF FPO a v některých případech znakových souborů Codeviewinformace. Ladicí program Visual C++ integrované lze číst.Soubory DBGTento formát však ignoruje oddíly symbol COFF a hledáInformace o znakových souborů Codeview.

Pokud potřebujete zjistit, jaký symbol informací obsažených v.DBGsoubor, můžete na příkazovém řádku zadejte následující:
Dumpbin sample.dbg/symbol.				
Poznámka: Možná bude nutné zahrnout adresářů pro Dumpbin.exe cestu aMSdis100.dll:
Path=%Path%;C:\Program Files\DevStudio\VC\bin;C:\Msssdk\bin				
Další informace o DUMPBIN klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
177429Příklady výstupu DUMPBIN
Další informace

Na.PDB souborů.

Při předchozích, 16bitové verze Visual C++ používá.PDB soubory,ladicí informace uložené v nich byla připojena na konec.EXE nebo.Soubor knihovny DLL vytvořeném propojovacím programem. Ve verzích Visual C++, které bylo uvedeno výše,aby byly upraveny vytvořeném propojovacím a integrovaného ladicího nástroje.PDBsoubory, které má být použit přímo během ladění se tímpodstatné množství práce linker a také vynechánínáročný limit CVPACK typů 64 kB.

Další informace o omezeních CVPACK klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
112335Chyba: CK1020 nebo CK4009 při informace o typu větší než 64 kB
Ve výchozím nastavení se při vytváření projektů, které jsou generovány vizuální WorkbenchKompilátor přepínač /Fd slouží k přejmenování.Soubor PDB <project>.PDB.Proto bude mít pouze jednu.Soubor PDB pro celý projekt.</project>

Spustíte-li makefiles, které nebyly generovány vizuální Workbench, a/Zi se nepoužívá /Fd, které skončí se dvěma.PDB soubory:
  • VCx0.PDB (kde "x" odkazuje na hlavní verze odpovídající Visual C++, "2" nebo "4"), který ukládá všechny informace o ladění pro jednotlivce.OBJ soubory. Je umístěn v adresáři kde makefile projektu nachází.
  • <project>.PDB, který ukládá všechny informace o ladění pro výsledný .Soubor EXE. Je umístěn v podadresáři \WINDEBUG.</project>
Proč dva soubory? Po spuštění kompilátor neví, název.Soubor EXE, do kterého.OBJ soubory budou spojeny, tak kompilátor nelzeVložte informace do <project>.PDB. Dva soubory ukládat různéinformace. Pokaždé, když při kompilaci.Soubor OBJ, kompilátor sloučíladicí informace do VCX0.PDB. Nevystavuje symbol informacenapříklad definice funkce. Pouze vloží informace týkající se typů.Výhodou tohoto je, že pokud každý zdrojový soubor obsahuje společné záhlavísoubory, jako například <windows.h>, funkce TypeDef z těchto záhlaví jsou pouzeuloženy jednou, spíše než v každé.OBJ soubor.</windows.h></project>

Spustíte-li linker, vytvoří se <project>.PDB, které držíladicí informace o projektu.Soubor EXE. Všechny laděníinformace, včetně funkce prototypy a všechno ostatní, je umístěn.do <project>.PDB, nikoli pouze typ údajů v VCX0.PDB. Nadva druhy z.PDB soubory sdílet se stejnou příponou, protože jsouarchitektonicky podobné; obě Povolit přírůstkové aktualizace. Nicméněskutečně ukládají různé informace.</project></project>

Nové ladicího programu jazyka Visual C++, používá <project>.Soubor PDB vytvořenéPropojovač přímo a vloží absolutní cesta k.PDB v.EXE nebo.Soubor knihovny DLL. Pokud debugger nemůže najít.Soubor PDB na tomto místě nebo pokudCesta je neplatná (Pokud například byl projekt přesunut do jinéhopočítač), ladicí program vyhledá jej v aktuálním adresáři.</project>

Na.Soubory DBG

Můžete také použít ladicí program Visual C++ integrované.Soubory DBG stejně dlouhý jakovyrobených z binárního obsahující znakových souborů Codeview formátu výstupu ladění.Tyto funkce jsou užitečné pro ladění zdrojového kódu není k dispozici. Dokonce ibez zdroje.Soubory DBG umožňují nastavit zarážky na funkce,sledování proměnných a zobrazit v zásobníku volání funkce. Jsou taképožadováno pro ladění OLE RPC.

Jeden výstražné potřeba zdůraznit: při práci se symboly z.DBGsoubor, je nutné použít plně dekorovanými názvy. Například můžete nastavitZarážka na volání funkce sndPlaySound systému Windows byjako umístění zadejte _sndPlaySoundA@8.

K dispozici jsou ve skutečnosti dvě.DBG formátů souborů. Má existovaly v původním formátuurčitou dobu na světě 16 bitů. Například protože formát.COMsoubory je jednoduchý binární obraz do paměti načteny, ladění znakových souborů Codeviewinformace nelze přidat na konec souboru, protože souborvelikost by mohly přesáhnout limit 64 kB /.COM soubor. Proto symbolickéinformace byla dána místo do zvláštní.DBG soubor, který měl pouzeZnakových souborů Codeview informace. Na.Soubory DBG může být také generoványCVPACK spuštěné.Pomocí možnosti /strip souboru EXE.

Pro 32bitové.EXEs, Visual C++ verze 2.x a symbol 4.x debuggerPopisovač nepodporuje čtení ve starém formátu. Místo toho přečte formát použitý vv systému Windows NT.Soubory DBG dodávané s jeho systémem.Soubory DLL.Tyto.Soubory DBG jsou ve formátu Portable spustitelný soubor (PE) aobsahují oddíly s COFF FPO a v některých případech symbolické znakových souborů Codeviewinformace. Načte nový ladicího programu jazyka Visual C++.Soubory DBG v tomto formátupouze. Kromě toho používala pouze informace o znakových souborů Codeview, ignorujeostatní oddíly symbol.

Je možné pásy ladicích informací ze souboru PE a uložte jej do.DBG soubor pro použití ladicí programy. Tento postup ladicí program potřebujevědět, zda chcete najít informace o ladění v samostatném souboru, nebo Ne ainformace již byly zda odkorněno ze souboru, nebo ne. Jedna metodabýt debugger vyhledávat spustitelného souboru, který hledáteinformace o ladění. Však uložit ladicí program z museli hledatSoubor byl vymyšlený charakteristické pole souboru (IMAGE_FILE_DEBUG_STRIPPED)který označuje, že soubor má bylo odkorněno. Ladicí programy můžete vyhledat tentopole v záhlaví souboru PE rychle určit, zda laděníinformace jsou v souboru, nebo ne.

Generování.DBG souboru v tomto formátu můžete použít REBASE.EXE, který jes Win32 SDK. Naleznete v dokumentaci k sadě Win32 SDK.Další podrobnosti.

Při sestavení prodejní verze systému Windows NT, symboly ladění, budou odstraněny zbinární soubory systému, ovladače a uložené v samostatném.Soubory DBG. To se provádíprotože tyto můžete použít ladicí program jádra systému Windows NT.Soubory DBG a poskytnoutsymboly ladění i pro optimalizované ovladače. Nezapomeňte však, žeVisual C++ integrovaného ladicího programu není navržen pro chráněný režim laděníkód pro jádro.

Symbol soubory systému Windows NT můžete nalézt v podadresáři ladění\SUPPORT adresáře na disku CD-ROM prodejní verze systému Windows NT. Musí být tyto souboryKopírovat z disku CD-ROM na pevný disk. Pro ladění uživatelského režimu nacílový počítač debugger.DBG symboly musí být v systému Windows NT\<winnt>\SYMBOLS adresář cílového systému (<winnt> je adresářPokud systém Windows NT je nainstalován). Nainstaluje nový instalační program Visual C++"Nastavení symbolů systému NT" ikonu ve skupině programů. Můžete ji použítautomaticky zkopírovat.Soubory DBG z disku CD-ROM systému Windows NT Workstationdiskové struktury správný adresář na pevném disku. Tato metodaprotože není funkční pro disk CD-ROM systému Windows NT Server 4.0.Soubory DBGjsou uloženy v komprimovaném formátu.</winnt></winnt>

Ladění jádra, umístěte.Soubory DBG do stromu pod symbolyurčené proměnnou prostředí _NT_SYMBOL_PATH (pro adresářnapříklad C:\DEBUG\SYMBOLS). Ladění jádra je možné s minimální sadousymboly obsahující symboly pro všechny ovladače (*.SYS) vAdresář SYMBOLS\SYS a symboly pro soubor NTOSKRNL.EXE a vrstvy HAL.Knihovna DLL vAdresáře SYMBOLS\EXE a SYMBOLS\DLL, resp.. Další informaceladění jádra, naleznete v diskusi o ladění jádra vsystém Windows NT DDK Programmer's Guide.

Když je teoreticky možné převést z.Soubor PDB zpět.Soubor DBG není trivial úkolu. V současné době víme, že žádné takové nástroje.Pokud jsme slyšet takové nástroje, bude tento článek aktualizován MicrosoftZnalostní báze Knowledge Base.
kbDebug kbTools kbVC200 kbVC210 kbVC400 kbVC500

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 121366 - Poslední kontrola: 12/04/2015 10:34:59 - Revize: 5.0

Microsoft Visual C++ 2.1, Microsoft Visual C++ 4.0 Standard Edition

  • kbnosurvey kbarchive kbbug kbdebug kbide kbinfo kbmt KB121366 KbMtcs
Váš názor