2012-06-26 5 views
9

Was sind die PDB-Dateien in den .NET-DLL-Dateien und was es tut? Normalerweise entfernen die Leute diese Datei bei der Bereitstellung und behalten nur die DLL-Datei in den lib-Ordnern, aber es scheint nichts passiert zu sein und alles funktioniert gut ...Was ist die PDB-Datei?

Also, was sind die PDB-Dateien?

+1

Siehe [Verwalten von Symbolen und Quellcode] (http://msdn.microsoft.com/en-us/library/ms241613) für die Erörterung von Programmdatenbankdateien . –

Antwort

12

Eine Programmdatenbank-Datei hat nichts mit inkrementeller Verknüpfung und Projektstatus zu tun! PDB-Dateien werden verwendet, um EXE mit SOURCES zuzuordnen. Sie werden für Debug- und Release-Binärdateien verwendet. Here an article, die diesen verbindlichen Link zwischen einem ausführbaren Bild und seiner PDB-Datei erläutert

+0

Dieser Artikel (http://www.codeproject.com/Articles/37883/ Symbols-File-Locator) behebt dieses Problem auch – mox

+0

Also, wenn ich eine Konfig-Datei auf meiner mittleren Ebene mit Bindungen, Endpunkten, Sicherheit usw. habe, dann referenziert es pdb? –

0

In .NET, behält es meist nur Symbol Info für lokale Variablen (und Bereich Informationen zu IIRC).

+0

Können Sie Symbole näher erläutern? –

7

PDB-Dateien speichern die Informationen, mit denen Sie eine Anwendung debuggen können.

Der Grund dafür, dass die Dateien normalerweise nicht bereitgestellt werden, besteht darin, dass sie normalerweise nicht gesendet werden müssen. Wenn Sie die Anwendung debuggen möchten, können Sie sie immer von einem Verzeichnis, einer Netzwerkfreigabe oder einem Symbolserver laden.

+0

+1 Stimme. Danke für deine Antwort, aber ich kann nicht alle Antworten als richtig markieren. –

1

Ein Programm Datenbank (PDB) Datei enthält das Debuggen und Projektstatusinformationen, die inkrementelle Verknüpfung einer Debug-Konfiguration des Programms ermöglicht. Eine PDB-Datei wird erstellt, wenn Sie ein C/C++ - Programm mit/ZI oder/Zi oder einem Visual Basic/C#/JScript .NET-Programm mit/debug kompilieren. Jedes Mal, wenn es eine OBJ-Datei erstellt, führt der C/C++ - Compiler Debuginformationen in VCx0.PBD zusammen. Die eingefügten Informationen enthalten Typinformationen, enthalten jedoch keine Symbolinformationen wie Funktionsdefinitionen. Selbst wenn jede Quelldatei gemeinsame Header-Dateien enthält, werden die Typedefs dieser Header nur einmal gespeichert und nicht in jeder OBJ-Datei.

+2

Das ist nicht korrekt! PDB haben nichts mit Projektstatusinformationen und inkrementeller Verknüpfung zu tun. PDB enthalten Symbole wie Definitionen. Sehen Sie mehr Details unten von mox. – mox

+1

Sieht aus wie eine Kopie + Paste von https://msdn.microsoft.com/en-us/library/yd4f8bd1(vs.71).aspx – michaelmsm89