Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 36247|Odgovoriti: 2

[Vir] vs Kaj in zakaj se generirajo .pdb datoteke

[Kopiraj povezavo]
Objavljeno na 16. 01. 2018 15:43:04 | | |
Za kaj je PDB datoteka?

PDB datoteke: Kar mora vsak razvijalec vedeti

Primer scenarija PDB:

.NET/C# Log4NET Error Exception ne beleži vzroka številke vrstice
http://www.itsvse.com/thread-3928-1-1.html
(Vir: Architect)


Kaj je PDB datoteka?

Večina razvijalcev bi morala vedeti, da se PDB datoteke uporabljajo za pomoč pri razhroščevanju programske opreme. A kako točno deluje, morda ne vemo. Ta članek opisuje shranjevanje in vsebino datotek PDB. Prav tako opisuje, kako razhroščevalnik najde PDB datoteko, ki ustreza binayu, in kako najde izvorno kodo, ki ustreza binayu. Ta članek je namenjen vsem nativnim in upravljanim razvijalcem.

Preden začnemo, definirajmo dva pojma: zasebna gradnja, ki označuje gradnjo, ustvarjeno na razvijalcovi lastni napravi; javna gradnja, kar pomeni gradnjo, ustvarjeno na stroju za javno gradnjo. zasebna gradnja je razmeroma preprosta, ker sta PDB in Binay na istem mestu, običajno pa so težave, ki jih imamo, povezane z javno gradnjo.  

Najpomembnejša stvar, ki jo morajo vsi razvijalci vedeti, je, da so "PDB datoteke prav tako pomembne kot izvorna koda", brez katere ne morete niti odpravljati napak. Za javno gradnjo mora strežnik simbolov shraniti vse PDB-je, nato pa, ko uporabnik prijavi napako, razhroščevalec samodejno najde ustrezno PDB datoteko v binayu, tako Visual Studio kot Windbg pa vesta, kako dostopati do strežnika simbolov. Preden shraniš PDB in binay na strežnik simbolov, moraš tudi indeksirati izvorno točko PDB, torej povezati PDB in izvorno kodo.  

Naslednji del predpostavlja, da sta Symbol Server in Source Server Indexing že vzpostavljena. TFS2010 je mogoče narediti tako preprosto kot indeksiranje izvorne kodo in kopiranje strežnika simbolov za novo različico.

2. Vsebina datoteke PDB

Uradno se je začela vsebina PDB, PDB ni javno dostopen datotečni format, vendar Microsoft zagotavlja API za pridobivanje podatkov iz PDB.

Izvorni C++ PDB vsebuje naslednje informacije:
* javni, zasebni in statični naslovi funkcij;
* Ime in naslov globalne spremenljivke;
* Imena parametrov in lokalnih spremenljivk ter premiki na skladu;
* tipdefinicije razreda, strukture in podatkov;
* Podatki o izpustitvi kazalnika sličic za prečkanje izvornega sklada na x86;
* Ime in število vrstic v datoteki izvorne kode;

.NET PDB vsebuje le 2 dela informacij:
* Ime datoteke izvorne kode in število vrstic;
* in ime lokalne spremenljivke;
* Vsi ostali podatki so že vključeni v . NET metapodatki;  





Prejšnji:Visual Studio dodaja zmogljive možnosti urejanja v Vim, da je težko preprečiti!
Naslednji:SQL Server pošilja pošto z uporabo baz podatkov (sp_send_dbmail)
Objavljeno na 16. 01. 2018 15:44:18 |
 Najemodajalec| Objavljeno na 8. 12. 2022 21:44:33 |
VS 2022 nastavi projekt za generiranje .pdb datoteke
https://www.itsvse.com/thread-10397-1-1.html
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com