Popis. Soubory PDB a. Soubory DBG

Prohlášení o odmítnutí odpovědnosti pro už nepodporovaný obsah KB

Tento článek byl napsán pro produkty, ke kterým již Microsoft nadále nenabízí podporu. Článek je tedy poskytován „tak, jak je“ a nebude už nadále aktualizován.

Souhrn

Na. PDB přípona zastupuje "program databáze." Obsahuje nový formát pro ukládání informace o ladění, který byl zaveden v aplikaci Visual C++ verze 1.0. V budoucnu. Soubor PDB bude uchovávat také jiné projektu informace o stavu. Byl jedním z nejdůležitějších podnětů pro změnu formátu umožní přírůstkové propojení ladicí verze programů, změna poprvé zavedena v aplikaci Visual C++ verze 2.0.


Na. DBG přípony zkratka "ladění". Na. DBG soubory vytvořené pomocí nástrojů NT 32 bit jsou ve formátu souboru přenosného spustitelný soubor (PE). Obsahují oddíly s COFF FPO a v některých případech Codeview informace. Ladicí program Visual C++ integrované lze číst. Soubory DBG v tomto formátu však ignoruje oddíly symbol COFF a hledá Codeview informace.


Pokud potřebujete určit symbol informací obsažených v. DBG soubor, zadejte následující příkazového řádku:

Dumpbin sample.dbg/symbol.

Poznámka: Cesta může být třeba zahrnout do adresáře Dumpbin.exe a MSdis100.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:

177429 příklady DUMPBIN výstupu

Další informace

Na. Soubory PDB

Při dřívějších, 16-bit verzí aplikace 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é jsou výše uvedené byly upraveny vytvořeném propojovacím a integrovaného ladicího nástroje umožňující. PDB soubory, které má být použit přímo během ladění procesu, a tím odstranění značné množství práce propojovacího programu 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:

112335 BUG: CK1020 nebo CK4009 při informace o typu větší než 64 kB

Ve výchozím nastavení, když sestavujete projekty generované Visual Workbench přepínač /Fd kompilátor slouží k přejmenování. Soubor PDB < projektu > PDB. Proto bude mít pouze jeden. Soubor PDB pro celý projekt.


Při spuštění makefiles, které nebyly generovány Visual Workbench a s /Zi není použita /Fd, budete mít se dvěma. Soubory PDB:
  • VCx0.PDB (kde "x" označuje 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 je umístěn soubor pravidel projektu.
  • < > projekt. PDB ukládá všechny informace o ladění pro výsledné. Soubor EXE. Je umístěn v podadresáři \WINDEBUG.
Proč dva soubory? Při spuštění kompilátor neví název. EXE soubor, do kterého. OBJ soubory budou propojeny, takže kompilátor nelze vložit informace do < Projekt >. PDB. Dva soubory ukládají různé informace. Pokaždé, když při kompilaci. Souboru OBJ, kompilátor sloučí informace o ladění VCX0. PDB. Nevystavuje informace symbol jako definice funkce. Vloží pouze informace týkající se typů. Výhodou tohoto je, že pokud každý zdrojový soubor obsahuje společné záhlaví soubory, například < odkazující na Windows >, funkce TypeDef z těchto záhlaví jsou pouze uloženy jednou, spíše než v každé. OBJ soubor.


Spustíte-li propojovací program vytvoří < Projekt >. 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 < aplikace > project. PDB, nikoli pouze typ informace nalezené v VCX0. PDB. Dva druhy z. PDB soubory sdílet stejnou příponu, protože jsou architektonicky podobné; obě Povolit přírůstkové aktualizace. Však jsou skutečně ukládají různé informace.


Nové ladicí program Visual C++ používá < Projekt >. Propojovací program vytvořený přímo soubor PDB a vloží absolutní cesta k. PDB v. EXE nebo. Soubor knihovny DLL. Pokud ladicí program nemůže najít. Soubor PDB na uvedeném místě, nebo pokud cesta je neplatná (Pokud například projekt byl přesunut do jiného počítače), ladicí program vyhledá ji v aktuálním adresáři.

Na. Soubory DBG

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


Jeden výstrahou je třeba zdůraznit: při práci se symboly od. DBG soubor, je nutné použít plně dekorované názvy. Chcete-li nastavit zarážka na volání funkce sndPlaySound systému Windows, například by zadejte _sndPlaySoundA@8 jako umístění.


Jsou ve skutečnosti dvě. DBG formátů souborů. Starý formát existuje pro určitou dobu na světě 16 bitů. Například formát souborů COM je jednoduchý binárním načten do paměti, Codeview ladění informace nelze přidat na konec souboru vzhledem k tomu, že velikost souboru může dojít k překročení limitu 64 kB pro soubor .COM. Proto symbolické informace uvedl místo do zvláštní. DBG soubor, který v něm měl pouze Codeview informace. Na. DBG soubory mohou být také generovány systémem CVPACK. EXE soubor pomocí možnosti /strip.


Pro 32-bit. Exe, Visual C++ verze 2.x a 4.x v debuggeru symbol popisovač nepodporuje čtení starý formát. Místo toho přečte formát použitý v systému Windows NT. Soubory DBG dodávané s jeho systémem. Soubory DLL. Tyto. DBG soubory jsou ve formátu souboru přenosného spustitelný soubor (PE) a obsahují oddíly s COFF FPO a v některých případech Codeview symbolické informace. Nové ladicí program Visual C++ čte. Soubory DBG v tomto formátu pouze. Kromě toho používala pouze informace o Codeview, ignoruje ostatní oddíly symbol.


Je možné pásy ladicích informací z přenositelného Spustitelného souboru a uložit jej v. DBG soubor pro použití ladicí programy. Pro tuto práci ladicí program potřebuje vědět, zda chcete-li najít informace o ladění v samostatném souboru, nebo Ne a zda má byly informace odstraněny ze souboru či nikoli. Jedna metoda bude pro vyhledávání pomocí spustitelného souboru, který hledáte informace o ladění ladicí program. Však chcete-li uložit ladicí program z museli hledat soubor, charakteristické pole souboru (IMAGE_FILE_DEBUG_STRIPPED) byla vyvinuta označující, že soubor má bylo odkorněno. Ladící programy můžete vyhledávat toto pole v záhlaví PE souboru lze rychle zjistit, zda je ladicí informace přítomné v souboru.


Chcete-li generovat. Soubor DBG v tomto formátu můžete použít REBASE. EXE, který je součástí systému Win32 SDK. Naleznete v dokumentaci Win32 SDK další podrobnosti.


Během maloobchodní sestavení systému Windows NT symboly ladění jsou odstraněny z binární soubory systému a 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. DBG soubory a poskytnout symboly ladění i pro optimalizované ovladače. Nezapomeňte však, že ladicí program Visual C++ integrované není určen pro ladění kódu jádra chráněný režim.


Soubory symbolů systému Windows NT naleznete v podadresáři adresáře \SUPPORT na disku CD-ROM systému Windows NT maloobchodní ladění. Tyto soubory je třeba zkopírovat z disku CD-ROM na pevný disk. Pro ladění uživatelského režimu na cílový počítač debugger. DBG symboly musí být k dispozici v systému Windows NT \ < winnt > \SYMBOLS adresář cílového systému (< winnt > je adresář, kde je nainstalován systém Windows NT). Nový instalační program Visual C++ "Nastavení symbolů systému NT" ikonu nainstaluje v programové skupině. Můžete automaticky kopírovat. DBG soubory z disku CD-ROM systému Windows NT Workstation struktury správný adresář na pevném disku. Protože se tato metoda nefunguje pro disk CD-ROM systému Windows NT Server 4.0. DBG soubory jsou uloženy v komprimovaném formátu.


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


I když je teoreticky možné převést z. Soubor PDB zpět. Soubor DBG není trivial úkolu. V tuto chvíli víme, žádné takové nástroje. Pokud jsme slyšet takové nástroje, bude tento článek znalostní báze Microsoft Knowledge Base aktualizován.
Vlastnosti

ID článku: 121366 - Poslední kontrola: 12. 1. 2017 - Revize: 1

Váš názor