2012-06-26 15 views
9

Co to są pliki PDB w plikach dll .NET i co robi? Zwykle ludzie usuwają ten plik podczas wdrażania i zachowują tylko plik DLL w folderach lib, ale wydaje się, że nic się nie stało i wszystko działa dobrze ...Co to jest plik PDB?

Co to są pliki PDB?

+1

Zobacz temat [Zarządzanie symbolami i kodem źródłowym] (http://msdn.microsoft.com/en-us/library/ms241613) w celu omówienia plików bazy danych programu . –

Odpowiedz

12

Plik bazy danych programu nie ma nic wspólnego z inkrementacyjnym łączeniem i stanem projektu! Pliki PDB są używane do mapowania EXE z SOURCES. Są używane do plików binarnych Debug and Release. Here an article, który wyjaśnia to wiążące połączenie między plikiem wykonywalnym i jego plikiem PDB.

+0

Ten artykuł (http://www.codeproject.com/Articles/37883/ Symbole-File-Locator) również rozwiązują ten problem. – mox

+0

Więc jeśli mam plik konfiguracyjny na mojej warstwie pośredniej z powiązaniami, punktami końcowymi, zabezpieczeniami itp., To odwołuje się on do pdb? –

0

W .NET, w większości po prostu zachowuje informacje o symbolach dla zmiennych lokalnych (i informacji o zasięgu za IIRC).

+0

Czy możesz rozwinąć symbole? –

7

Pliki PDB przechowują informacje, które umożliwiają debugowanie aplikacji.

Powodem, że pliki zazwyczaj nie są wdrażane, jest to, że zazwyczaj nie ma potrzeby ich wysyłania. Jeśli chcesz debugować aplikację, możesz zawsze załadować ją z katalogu, udziału sieciowego lub serwera symboli.

+0

+1 głos. Dziękuję za odpowiedź, ale nie mogę oznaczyć wszystkich odpowiedzi jako prawidłowe. –

1

Baza danych programu plik (PDB) posiada debugowania i informacji o stanie projektu, który umożliwia przyrostowe łączenie konfiguracji Debug swojego programu. Plik PDB jest tworzony podczas kompilowania programu C/C++ za pomocą/ZI lub/Zi lub programu Visual Basic/C#/JScript .NET za pomocą/debug. Za każdym razem, gdy tworzy plik OBJ, kompilator C/C++ łączy informacje debugowania z VCx0.PBD. Wstawione informacje zawierają informacje o typie, ale nie zawierają informacji o symbolu, takich jak definicje funkcji. Tak więc, nawet jeśli każdy plik źródłowy zawiera wspólne pliki nagłówkowe, takie jak, typedefs z tych nagłówków są przechowywane tylko raz, a nie w każdym pliku OBJ.

+2

To nie jest poprawne! WPB nie mają nic wspólnego z informacjami o stanie projektu i przyrostowym powiązaniem. WPB zawierają symbole, takie jak definicje. Zobacz więcej szczegółów poniżej z mox. – mox

+1

Wygląda jak kopia + wklej https://msdn.microsoft.com/en-us/library/yd4f8bd1(vs.71).aspx – michaelmsm89