Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 36247|Odpowiedź: 2

[Źródło] vs Co i dlaczego generowane są pliki .pdb

[Skopiuj link]
Opublikowano 16.01.2018 15:43:04 | | |
Do czego służy plik PDB?

Pliki PDB: Co każdy programista musi wiedzieć

Przykład scenariusza PDB:

.net/c# wyjątek błędu log4net nie rejestruje przyczyny numeru linii
http://www.itsvse.com/thread-3928-1-1.html
(Źródło: Architect)


Czym jest plik PDB?

Większość programistów powinna wiedzieć, że pliki PDB są używane do pomocy w debugowaniu oprogramowania. Ale jak dokładnie działa, możemy nie znać. Ten artykuł opisuje przechowywanie i zawartość plików PDB. Opisuje także, jak debugger znajduje plik PDB odpowiadający binay oraz jak znajduje plik kodu źródłowego odpowiadający binay. Ten artykuł jest przeznaczony dla wszystkich deweloperów Natywnych i zarządzanych.

Zanim zaczniemy, zdefiniujmy dwa terminy: prywatną budowlę, która oznacza wersję generowaną na własnej maszynie dewelopera; Public Build, czyli build wygenerowany na maszynie public build. Prywatna budowa jest stosunkowo prosta, ponieważ PDB i Binay są w tym samym miejscu, a zwykle problemy, które mamy, dotyczą budowy publicznej.  

Najważniejszą rzeczą, którą wszyscy deweloperzy powinni wiedzieć, jest to, że "pliki PDB są równie ważne jak kod źródłowy", bez których nie da się nawet debugować. W budowie publicznej serwer symboli musi przechowywać wszystkie PDB, a gdy użytkownik zgłosi błąd, debugger automatycznie znajduje odpowiadający mu plik PDB w binay, a zarówno Visual Studio, jak i Windbg wiedzą, jak uzyskać dostęp do serwera symboli. Przed zapisaniem PDB i binay na serwerze symboli, musisz również zindeksować źródłowy run PDB, czyli powiązać PDB i źródło.  

Następna część zakłada, że Symbol Server i Source Server Indexing są już skonfigurowane. TFS2010 można zrobić tak prosto, jak indeksowanie źródeł i kopiowanie serwera symboli dla nowej konfiguracji.

2. Treść pliku PDB

Oficjalnie rozpoczynając tworzenie treści PDB, PDB nie jest publicznie dostępnym formatem plików, ale Microsoft udostępnia API pomagające pobierać dane z PDB.

Natywny pakiet C++ PDB zawiera następujące informacje:
* publiczne, prywatne i statyczne adresy funkcji;
* Nazwa i adres zmiennej globalnej;
* Nazwy parametrów i zmiennych lokalnych oraz przesunięcia na stosie;
* definicje typów klasy, struktury i danych;
* Dane pominięcia wskaźnika ramki dla przechodzenia przez natywny stos na x86;
* Nazwa i liczba linii w pliku kodu źródłowego;

.NET PDB zawiera tylko 2 części informacji:
* Nazwa pliku kodu źródłowego i liczba linii;
* oraz nazwę zmiennej lokalnej;
* Wszystkie pozostałe dane są już zawarte w . NET Metadata;  





Poprzedni:Visual Studio dodaje potężne możliwości edycji Vim, które utrudniają zapobieżenie temu zadaniu!
Następny:SQL Server wysyłający pocztę z wykorzystaniem baz danych (sp_send_dbmail)
Opublikowano 16.01.2018 15:44:18 |
 Ziemianin| Opublikowano 08.12.2022 21:44:33 |
VS 2022 przygotowuje projekt do wygenerowania pliku .pdb
https://www.itsvse.com/thread-10397-1-1.html
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com