Popis.PNR súbory a.DBG súbory

Preklady článku Preklady článku
ID článku: 121366 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

.PNR rozšírenie je skratka pre "program databázy." Vlastní nový formát pre ukladanie ladenia informácií, ktorý bol zavedený v Visual C++ verzia 1.0. V budúcnosti.PNR súbor usporiada taktiež iný projekt informácie o stave. Jedným z najdôležitejších motiváciou pre zmenu formát bolo umožniť prírastkové spájajúcej ladiace verzie programov, zmeniť prvýkrát zavedená v Visual C++ verzie 2.0.

.DBG rozšírenie je skratka pre "ladenie." .DBG súbory vytvorené programom 32-bitový NT nástrojov sú vo formáte Portable Executable (PE). Obsahujú časti s COFF, Francúzskej Polynézie, a v niektorých prípadoch Codeview information. Integrovaný debugger môže Visual c ++ prečítajte.DBG súbory v Toto formátovať, avšak ignoruje COFF symbolom sekcií a hľadá Codeview informácie.

Ak potrebujete zistiť, aké symbolom informácie obsiahnuté v.DBG súbor, môžete zadať nasledovné v príkazovom riadku:
Dumpbin sample.dbg/symbol.
				
Poznámka: Cestu možno musieť zahŕňať adresárov pre Dumpbin.exe a MSdis100.dll:
Path=%Path%;C:\Program Files\DevStudio\VC\bin;C:\Msssdk\bin
				
Ďalšie informácie o DUMPBIN nájdete po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
177429Príklady DUMPBIN výstup

DALSIE INFORMACIE

.PNR súbory

Zatiaľ čo predtým, 16-bitové verzie Visual C++ používať.PNR súborov, ladiace informácie uložené v nich bol pridaný koniec.EXE alebo .DLL súbor prepojovacím. Vo verziách Visual C++ uvedené vyššie, linker a integrovaný debugger boli upravené, aby povolili.PNR súbory používať priamo počas procesu ladenia, čím sa odstránia značné sumy práce pre linker a tiež obteká ťažkopádne CVPACK limit 64 kB typy.

Ďalšie informácie o CVPACK obmedzenia, po kliknutí na nasledovné číslo článku databázy Microsoft Knowledge Base:
112335Chyba: CK1020 alebo CK4009 zistil pri typ info presahuje 64 kB
V predvolenom nastavení, keď zostavujete projektov generované vizuálne Workbench kompilátor prepínač /Fd sa používa na premenovať.PNR súbor <project>.PNR. Preto bude mať iba jeden.PNR súbor pre celý projekt. </project>

Keď spustíte makefiles, ktoré boli nie generované vizuálne Workbench, a /Fd nie je používaná s /Zi, ty skončí s dvoma.PNR súborov:
  • VCx0.PDB (kde "x" odkazuje na hlavnú verziu zodpovedajúcej Visual C++, "2" alebo "4"), ktorý uchováva všetky informácie o ladení pre jednotlivca.OBJ súbory. Spočíva v adresári kde projekt makefile bydlisko.
  • <project>.PNR, ktoré uchováva všetky informácie o ladení pre výsledný .Súbor EXE. To sa nachádza v podadresári \WINDEBUG.</project>
Prečo dva súbory? Keď spustíte kompilátor, nevie názov .EXE súbor do ktorého.OBJ súbory budú prepojené, takže kompilátor nemôže dať tieto informácie do <project>.PNR. Dva súbory ukladať rôzne information. Zakaždým, keď ste zostaviť.Zlúči OBJ súbor, kompilátor ladiace informácie do VCX0.PNR. Nie je uvedený symbol informácie napríklad definície funkcií. Kladie iba informácie týkajúce sa typov. Jedna výhoda tohto je, že keď každý zdrojový súbor obsahuje spoločné hlavičky súbory ako napríklad <windows.h>, všetky definície TYPEDEF z tieto hlavičky sú len uložené raz, skôr ako v každom.OBJ súbor. </windows.h></project>

Keď spustíte linker, vytvára <project>.PNR, ktoré vlastní ladiace informácie pre tento projekt.Súbor EXE. Všetky ladenie informácie, vrátane funkcie prototypov a všetko ostatné, je umiestnený do <project>.PNR, nie len typ informácie nájdené v VCX0.PNR. V dva druhy z.PNR súbory zdieľať rovnaké predĺženie, pretože sú architektonicky podobné; obaja umožňujú inkrementální zmenené. Napriek tomu skutočne ukladať rôzne informácie. </project></project>

Nové ladiaceho nástroja Visual C++ používa <project>.PNR súbor vytvorený priamo, linker a vloží absolútnu cestu k.PNR v.EXE alebo .DLL súbor. Ak nemôžete nájsť ladiaci nástroj.PNR súboru na tomto mieste, alebo ak cesta je neplatné (Ak napríklad projekt bol premiestnený do iného počítač), ladiaci nástroj hľadá ju v aktuálnom adresári. </project>

.DBG súbory

Môžete tiež použiť Visual C++ integrovaný debugger.DBG súbory tak dlho, ako sú vyrobené z binárny formát obsahujúce Codeview na ladenie výstup. Tieto sú užitočné pre ladenie keď zdrojový kód nie je k dispozícii. Dokonca aj bez zdroj.DBG súbory umožňujú nastaviť body prerušenia na funkcie, Sledujte premenných a zobraziť funkcie vo volaní nahromadenia. Sú tiež požadované pre ladenie OLE RPC.

Jedna námietka je potrebné zdôrazniť: pri práci s symboly z.DBG súbor, musíte použiť plne zdobená názvy. Napríklad, ak chcete nastaviť bod prerušenia na volanie funkcie sndPlaySound Windows by ste Zadajte _sndPlaySoundA@8 ako umiestnenie.

Tam sú skutočne dve.Formáty súborov DBG. Staré formátu jestvuje pre chvílicasu na 16-bitový svete. Napríklad, pretože formát.COM súbory je jednoduché binárnom nahrá do pamäte, Codeview ladenie informácie by mohli nie pripojí na koniec súboru, pretože súbor veľkosť môže presiahnuť limit 64 kB.COM súbor. Preto symbolické informácie namiesto toho uviedol do samostatnej.DBG súbor, ktorý mal len Codeview informácie v nej. .DBG súbory by mohla aj byť generované napájaný CVPACK.EXE s·bore pomocou /strip možnosť.

Pre 32-bit.Ohne, verzia 2.x Visual C++ a 4.x ladiaci nástroj symbol obslužný program nečíta staré formát. Namiesto toho to znie formát používaný v Windows NT.DBG súborov dodaných na použitie s jeho systému.Súbory DLL. Tieto.DBG súbory sú vo formáte Portable Executable (PE) a obsahovať sekcie s COFF, Francúzskej Polynézie, a v niektorých prípadoch Codeview symbolické information. Nové ladiaceho nástroja Visual C++ číta.DBG súbory v tomto formáte len. Okrem toho sa používa iba Codeview informácie, ignorovanie Ostatné oddiely symbolom.

Je možné pásy ladiace informácie z PE súboru a uložte ju v .DBG súbor na použitie pre ladiace nástroje. Aby to fungovalo, ladiaci nástroj potrebuje vedieť, či sa má nájsť informácie o ladení v samostatnom súbore, alebo nie a či informácie sa odkôrnilo zo súboru, alebo nie. Jedna metóda by bolo pre ladiaci nástroj na vyhľadávanie hľadáte spustiteľný súbor informácie o ladení. Však uložiť ladiaci nástroj z aby museli hľadať súbor, súbor charakteristické pole (IMAGE_FILE_DEBUG_STRIPPED) bola vynájdená to naznačuje, že súbor sa odkôrnilo. Ladiace nástroje sa pozrieť na tento pole v hlavičke súboru PE rýchlo určiť či podpríkazu debug informácie je prítomný v súbore, alebo nie.

Generovať.DBG súbor v tomto formáte, môžete použiť REBASE.EXE, ktorý je vybavené Win32 SDK. Nájdete v dokumentácii k systému Win32 SDK viac podrobností.

Počas maloobchodných stavia Windows NT ladiace symboly sú oddestilovaná z binárne súbory systému a ovládače a skladovať oddelene.DBG súbory. Vykonáte to pretože nástroj na ladenie jadra systému Windows NT, môžete použiť tieto.DBG súbory a poskytujú ladiace symboly aj pre optimalizovaný ovládače. Nezabudnite, však, že Visual C++ integrovaný debugger nie je určený na ladenie chránený režim jadro kódu.

Windows NT symbolom súbory možno nájsť v podpriečinku ladiacej \SUPPORT adresár na maloobchodného disku CD-ROM systému Windows NT. Musia byť tieto súbory skopíruje z disku CD-ROM na pevný disk. Používateľ režim ladenia na cieľové ladiaci nástroj stroj.DBG symboly musia byť prítomné v systéme Windows NT \<winnt>\SYMBOLS adresár systému target (<winnt> je adresár Ak systém Windows NT je nainštalovaný). Nové Visual C++ inštalačný program nainštaluje „Nastavenie systému NT symboly"ikonu v programovej skupiny. Môžete použiť na automaticky kopírovať.DBG súbory z disku CD-ROM systému Windows NT Workstation disku na správny adresár štruktúru na pevnom disku. Táto metóda nepracuje pre systému Windows NT Server 4.0 CD-ROM pretože.DBG súbory sú uložené v komprimovanom formáte. </winnt></winnt>

Na ladenie jadra, miesto.DBG súbory do stromu symboly pod adresári určenom premennej prostredia _NT_SYMBOL_PATH (pre napríklad C:\DEBUG\SYMBOLS). Ladenie jadra je možné s minimálnou množinou symbolov pozostávajúce z symboly pre všetky ovládače (*.SYS) v SYMBOLS\SYS adresár a symboly pre NTOSKRNL.EXE a HAL.Knižnica DLL v SYMBOLS\EXE a SYMBOLS\DLL adresára, resp.. Ďalšie informácie na ladenie jadra, označovať diskusie o ladenie jadra v Windows NT DDK Programmer's Guide.

Hoci je teoreticky možné konvertovať z.PNR súbor späť na .DBG súbor, nie je triviálne úloha. V tomto momente vieme takéhoto nástroja. Ak sme počuť takéhoto nástroja, aktualizujeme tento článok v Microsoft Databázy Knowledge Base.

Vlastnosti

ID článku: 121366 - Posledná kontrola: 10. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0 Standard Edition
Kľúčové slová: 
kbbug kbdebug kbide kbinfo kbmt KB121366 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:121366
Upozornenie na neaktuálny obsah článku databázy KB
Tento článok obsahuje informácie o produktoch, pre ktoré spoločnosť Microsoft už neposkytuje technickú podporu. Z tohto dôvodu je tento článok publikovaný ako nezmenený a už nebude aktualizovaný.

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com