Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 36247|Svare: 2

[Kilde] vs Hva og hvorfor .pdb-filer genereres

[Kopier lenke]
Publisert på 16.01.2018 15:43:04 | | |
Hva er en PDB-fil til?

PDB-filer: Det enhver utvikler må vite

Eksempel på PDB-scenario:

.net/c# log4net-feilunntak registrerer ikke årsaken til linjenummeret
http://www.itsvse.com/thread-3928-1-1.html
(Kilde: Arkitekt)


Hva er en PDB-fil?

De fleste utviklere bør vite at PDB-filer brukes til å hjelpe med feilsøking av programvare. Men hvordan han egentlig fungerer, er vi kanskje ikke kjent med. Denne artikkelen beskriver lagring og innhold i PDB-filer. Den beskriver også hvordan debuggeren finner PDB-filen som tilsvarer binay, og hvordan debuggeren finner kildekodefilen som tilsvarer binay. Denne artikkelen er for alle Native- og Managed-utviklere.

Før vi begynner, la oss definere to begreper: privat build, som brukes for å betegne en build generert på utviklerens egen maskin; offentlig build, som betyr en build generert på en offentlig build-maskin. privat bygging er relativt enkelt, fordi PDB og Binay er på samme sted, og vanligvis handler problemene vi har om offentlig bygging.  

Det viktigste alle utviklere må vite, er at «PDB-filer er like viktige som kildekode», uten hvilken du ikke engang kan feilsøke. For offentlig build må symbolserveren lagre alle PDB-ene, og når brukeren rapporterer en feil, kan debuggeren automatisk finne den tilsvarende PDB-filen i binay, og både Visual Studio og Windbg vet hvordan de får tilgang til symbolserveren. Før du lagrer PDB og binay til symbolserveren, må du også kildeindeksere PDB-kjøringen, altså assosiere PDB og kilde.  

Neste del forutsetter at Symbolserver- og Source Server-indekseringen allerede er satt opp. TFS2010 kan gjøres like enkelt som kildeindeksering og symbolserverkopiering for en ny build.

2. Innholdet i PDB-filen

PDB startet offisielt innholdet i PDB, og er ikke et offentlig tilgjengelig filformat, men Microsoft tilbyr et API for å hjelpe med å hente data fra PDB.

Den native C++ PDB-en inneholder følgende informasjon:
* offentlige, private og statiske funksjonsadresser;
* Navnet og adressen til den globale variabelen;
* Parameter- og lokale variabelnavn og forskyvninger på stakken;
* typedefinisjoner av klasse, struktur og data;
* Frame Pointer-utelatelsesdata for å traversere den native stakken på x86;
* Navnet og antall linjer i kildekodefilen;

.NET PDB-en inneholder kun to deler av informasjonen:
* Kildekodefilnavn og antall linjer;
* og navnet på den lokale variabelen;
* Alle andre data er allerede inkludert i . NET-metadata;  





Foregående:Visual Studio legger til de kraftige redigeringsmulighetene til Vim for å gjøre det vanskelig å forhindre!
Neste:SQL Server sender e-post ved hjelp av databaser (sp_send_dbmail)
Publisert på 16.01.2018 15:44:18 |
 Vert| Publisert på 08.12.2022 21:44:33 |
VS 2022 setter opp prosjektet for å generere en .pdb-fil
https://www.itsvse.com/thread-10397-1-1.html
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com