Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 36247|Vastaus: 2

[Lähde] vs Mitä ja miksi .pdb-tiedostoja generoidaan

[Kopioi linkki]
Julkaistu 16.1.2018 15.43.04 | | |
Mihin PDB-tiedosto on tarkoitettu?

PDB-tiedostot: Mitä jokaisen kehittäjän tulee tietää

Esimerkki PDB-skenaariosta:

.net/c# log4net-virhepoikkeus ei rekisteröi rivinumeron syytä
http://www.itsvse.com/thread-3928-1-1.html
(Lähde: Arkkitehti)


Mikä on PDB-tiedosto?

Useimpien kehittäjien tulisi tietää, että PDB-tiedostoja käytetään ohjelmistovirheen korjaamiseen. Mutta miten hän tarkalleen ottaen toimii, sitä emme ehkä tunne. Tässä artikkelissa kuvataan PDB-tiedostojen tallennustilaa ja sisältöä. Se kuvaa myös, miten debuggeri löytää binay-tiedoston PDB-tiedoston ja miten debuggeri löytää binayn lähdekooditiedoston. Tämä artikkeli on tarkoitettu kaikille Native ja Managed -kehittäjille.

Ennen kuin aloitamme, määritellään kaksi termiä: yksityinen rakennus, jota käytetään tarkoittamaan kehittäjän omalla koneella tuotettua buildia; julkinen rakennus, joka tarkoittaa julkisella koneella luotua buildia. Yksityinen rakentaminen on suhteellisen yksinkertaista, koska PDB ja binay ovat samassa tilanteessa, ja yleensä ongelmat liittyvät julkiseen rakentamiseen.  

Tärkein asia, joka kaikkien kehittäjien täytyy tietää, on että "PDB-tiedostot ovat yhtä tärkeitä kuin lähdekoodi", ilman sitä et voi edes debugata. Julkisessa rakentamisessa symbolipalvelimen täytyy tallentaa kaikki PDB:t, ja kun käyttäjä raportoi virheen, virheenkorjaaja löytää automaattisesti vastaavan PDB-tiedoston binaysta, ja sekä Visual Studio että Windbg tietävät, miten käyttää symbolipalvelinta. Ennen kuin PDB ja binay tallennetaan symbolipalvelimelle, sinun täytyy myös indeksoida PDB-suoritus, eli yhdistää PDB ja lähdekoodi.  

Seuraava osa olettaa, että Symbol Server ja Source Server Indexing on jo asetettu. TFS2010 voidaan tehdä yhtä yksinkertaisesti kuin lähdeindeksointi ja symbolipalvelimen kopiointi uudelle versiolle.

2. PDB-tiedoston sisältö

Virallisesti PDB:n sisällön aloittaminen ei ole julkisesti saatavilla oleva tiedostomuoto, mutta Microsoft tarjoaa API:n, joka auttaa saamaan dataa PDB:stä.

Natiivi C++ PDB sisältää seuraavat tiedot:
* julkiset, yksityiset ja staattiset funktioosoitteet;
* Globaalin muuttujan nimi ja osoite;
* Parametrien ja paikallisten muuttujien nimet sekä siirtymät pinossa;
* luokka-, rakenteen ja datan tyypin määrittelyt;
* Frame Pointer Omission data native stackin läpikäyntiä varten x86:lla;
* Nimi ja rivien määrä lähdekooditiedostossa;

.NET PDB sisältää vain kaksi osaa tietoa:
* Lähdekooditiedoston nimi ja rivien määrä;
* ja paikallisen muuttujan nimi;
* Kaikki muu data sisältyy jo . NET-metatiedot;  





Edellinen:Visual Studio lisää Vimin tehokkaat editointiominaisuudet, jotka vaikeuttavat estämistä!
Seuraava:SQL Server lähettää sähköpostia tietokantojen avulla (sp_send_dbmail)
Julkaistu 16.1.2018 15.44.18 |
 Vuokraisäntä| Julkaistu 8.12.2022 21.44.33 |
VS 2022 asettaa projektin luomaan .pdb-tiedoston
https://www.itsvse.com/thread-10397-1-1.html
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com