Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 36247|Risposta: 2

[Fonte] vs Cosa e perché vengono generati file .pdb

[Copiato link]
Pubblicato su 16/01/2018 15:43:04 | | |
A cosa serve un file PDB?

File PDB: Ciò che ogni sviluppatore deve sapere

Esempio di scenario PDB:

.net/c# L'eccezione di errore log4net non registra la causa del numero di riga
http://www.itsvse.com/thread-3928-1-1.html
(Fonte: Architetto)


Cos'è un file PDB?

La maggior parte degli sviluppatori dovrebbe sapere che i file PDB vengono utilizzati per aiutare nel debug del software. Ma come funziona esattamente, forse non lo conosciamo. Questo articolo descrive l'archiviazione e il contenuto dei file PDB. Descrive anche come il debugger trova il file PDB corrispondente a binay e come trova il file di codice sorgente corrispondente a binay. Questo articolo è rivolto a tutti gli sviluppatori Native e Gestiti.

Prima di iniziare, definiamo due termini: build privata, che viene usata per indicare una build generata sulla macchina dello sviluppatore; Build pubblica, che significa una build generata su una macchina pubblica. la build privata è relativamente semplice, perché PDB e binay sono nello stesso posto, e di solito i problemi che abbiamo riguardano la build pubblica.  

La cosa più importante che tutti gli sviluppatori devono sapere è che "i file PDB sono importanti quanto il codice sorgente", senza il quale non puoi nemmeno fare il debug. Per la build pubblica, il server di simboli deve memorizzare tutti i PDB e, quando l'utente segnala un errore, il debugger può trovare automaticamente il file PDB corrispondente in binay, e sia Visual Studio che Windbg sanno come accedere al server di simboli. Prima di memorizzare PDB e binay nel server dei simboli, devi anche indicizzare il sorgente dell'esecuzione PDB, che deve associare PDB e sorgente.  

La parte successiva presuppone che il Symbol Server e l'Indicizzazione del Source Server siano già configurati. TFS2010 può essere fatto semplicemente come indicizzare il sorgente e copiare il server dei simboli per una nuova build.

2. Il contenuto del file PDB

Ufficialmente iniziando il contenuto di PDB, PDB non è un formato di file pubblicamente disponibile, ma Microsoft fornisce un'API per aiutare a ottenere dati da PDB.

Il PDB nativo C++ contiene le seguenti informazioni:
* indirizzi di funzione pubblici, privati e statici;
* Il nome e l'indirizzo della variabile globale;
* Nomi e offset di parametri e variabili locali sullo stack;
* definizioni di tipo di classe, struttura e dati;
* Dati di omissione del puntatore di frame per attraversare lo stack nativo su x86;
* Il nome e il numero di righe nel file del codice sorgente;

Il PDB .NET contiene solo 2 parti di informazione:
* Codice sorgente, nome del file e numero di righe;
* e il nome della variabile locale;
* Tutti gli altri dati sono già inclusi nel . NET Metadata;  





Precedente:Visual Studio aggiunge le potenti capacità di editing di Vim per rendere difficile evitarlo!
Prossimo:SQL Server che invia posta tramite database (sp_send_dbmail)
Pubblicato su 16/01/2018 15:44:18 |
 Padrone di casa| Pubblicato su 08/12/2022 21:44:33 |
VS 2022 imposta il progetto per generare un file .pdb
https://www.itsvse.com/thread-10397-1-1.html
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com