Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 36247|Odpoveď: 2

[Zdroj] vs Čo a prečo sa generujú .pdb súbory

[Kopírovať odkaz]
Zverejnené 16. 1. 2018 15:43:04 | | |
Na čo slúži PDB súbor?

PDB súbory: Čo musí vedieť každý vývojár

Príklad scenára PDB:

.net/c# log4net chybová výnimka nezaznamenáva príčinu čísla riadku
http://www.itsvse.com/thread-3928-1-1.html
(Zdroj: Architect)


Čo je to PDB súbor?

Väčšina vývojárov by mala vedieť, že PDB súbory sa používajú na podporu ladenia softvéru. Ale ako presne funguje, možno nevieme. Tento článok popisuje úložisko a obsah súborov PDB. Tiež popisuje, ako debugger nájde PDB súbor zodpovedajúci binay a ako debugger nájde zdrojový kódový súbor zodpovedajúci binay. Tento článok je určený pre všetkých natívnych a spravovaných vývojárov.

Predtým, než začneme, definujme dva pojmy: súkromná zostava, ktorá označuje zostavu generovanú na vlastnom počítači vývojára; Public build, čo znamená build generovaný na verejnom build stroji. Súkromná stavba je relatívne jednoduchá, pretože PDB a Binay sú na rovnakom mieste a zvyčajne máme problémy s verejnou výstavbou.  

Najdôležitejšie, čo by mali všetci vývojári vedieť, je, že "PDB súbory sú rovnako dôležité ako zdrojový kód", bez ktorého sa ani nedá ladiť. Pri verejnej zostave musí symbol server uložiť všetky PDB a keď používateľ nahlási chybu, debugger automaticky nájde príslušný PDB súbor v binay a Visual Studio aj Windbg vedia, ako sa k symbolovému serveru dostať. Pred uložením PDB a binay na symbol server je potrebné tiež zaindexovať zdrojový index behu PDB, teda priradiť PDB a zdroj.  

Ďalšia časť predpokladá, že Symbol Server a Source Server Indexing sú už nastavené. TFS2010 je možné urobiť rovnako jednoducho ako indexovanie zdrojového kódu a kopírovanie symbolového servera pre novú zostavu.

2. Obsah súboru PDB

Oficiálne začínajúc obsah PDB, PDB nie je verejne dostupný formát súboru, ale Microsoft poskytuje API, ktoré pomáha získavať dáta z PDB.

Natívny C++ PDB obsahuje nasledujúce informácie:
* verejné, súkromné a statické funkčné adresy;
* Názov a adresa globálnej premennej;
* Názvy parametrov a lokálnych premenných a posuny na zásobníku;
* typové definície triedy, štruktúry a dát;
* Údaje o vynechaní ukazovateľa rámca pre prechádzanie natívnym zásobníkom na x86;
* Názov a počet riadkov v súbore zdrojového kódu;

.NET PDB obsahuje iba 2 časti informácií:
* Názov súboru v zdrojovom kóde a počet riadkov;
* a názov lokálnej premennej;
* Všetky ostatné údaje sú už zahrnuté v . NET Metadata;  





Predchádzajúci:Visual Studio pridáva výkonné editačné možnosti Vim, aby sa tomu nedalo zabrániť!
Budúci:SQL Server posiela poštu pomocou databáz (sp_send_dbmail)
Zverejnené 16. 1. 2018 15:44:18 |
 Prenajímateľ| Zverejnené 8. 12. 2022 21:44:33 |
VS 2022 nastavuje projekt na generovanie .pdb súboru
https://www.itsvse.com/thread-10397-1-1.html
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com