Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 36247|Svar: 2

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

[Kopier link]
Opslået på 16/01/2018 15.43.04 | | |
Hvad er en PDB-fil til?

PDB-filer: Hvad enhver udvikler skal vide

Eksempel på PDB-scenarie:

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


Hvad er en PDB-fil?

De fleste udviklere bør vide, at PDB-filer bruges til at hjælpe med softwarefejlfinding. Men hvordan han præcist fungerer, kender vi måske ikke til. Denne artikel beskriver lagring og indhold af PDB-filer. Den beskriver også, hvordan debuggeren finder PDB-filen, der svarer til binay, og hvordan debuggeren finder kildekodefilen, der svarer til binay. Denne artikel er for alle Native- og Managed-udviklere.

Før vi begynder, lad os definere to begreber: privat build, som bruges til at betegne en build genereret på udviklerens egen maskine; offentlig build, hvilket betyder en build genereret på en offentlig build-maskine. privat byggeri er relativt enkelt, fordi PDB og Binay ligger samme sted, og som regel handler problemerne om offentlig byggeri.  

Det vigtigste, som alle udviklere skal vide, er, at "PDB-filer er lige så vigtige som kildekode", uden hvilken du ikke engang kan fejlfinde. For offentlig build skal symbolserveren gemme alle PDB'erne, og når brugeren rapporterer en fejl, kan debuggeren automatisk finde den tilsvarende PDB-fil i binay, og både Visual Studio og Windbg ved, hvordan man får adgang til symbolserveren. Før du gemmer PDB og binay til symbolserveren, skal du også kildeindeksere PDB-kørslen, hvilket er for at associere PDB og kilde.  

Næste del antager, at Symbol Server og Source Server Indexing allerede er sat op. TFS2010 kan gøres lige så enkelt som kildeindeksering og symbolserverkopiering til en ny build.

2. Indholdet af PDB-filen

Officielt startede PDB-indholdet op, PDB er ikke et offentligt tilgængeligt filformat, men Microsoft tilbyder et API til at hjælpe med at hente data fra PDB.

Den oprindelige C++ PDB indeholder følgende information:
* offentlige, private og statiske funktionsadresser;
* Navnet og adressen på den globale variabel;
* Parameter- og lokale variabelnavne og offsets på stakken;
* typedefinitioner af klasse, struktur og data;
* Frame Pointer udeladelsesdata for at gennemgå den native stack på x86;
* Navnet og antallet af linjer i kildekodefilen;

.NET PDB'en indeholder kun 2 dele af informationen:
* Kildekodefilens navn og antal linjer;
* og navnet på den lokale variabel;
* Alle andre data er allerede inkluderet i . NET Metadata;  





Tidligere:Visual Studio tilføjer de kraftfulde redigeringsmuligheder fra Vim for at gøre det svært at forhindre!
Næste:SQL Server sender mail via databaser (sp_send_dbmail)
Opslået på 16/01/2018 15.44.18 |
 Udlejer| Opslået på 08/12/2022 21.44.33 |
VS 2022 sætter projektet op til at generere en .pdb-fil
https://www.itsvse.com/thread-10397-1-1.html
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com