Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Gdy aplikacje, biblioteki, sterowniki lub systemy operacyjne są połączone, konsolidator tworzący pliki .exe i .dll tworzy również wiele dodatkowych plików nazywanych plikami symboli.
Pliki symboli przechowują różne dane, które nie są rzeczywiście potrzebne podczas uruchamiania plików binarnych, ale które mogą być bardzo przydatne w procesie debugowania.
Zazwyczaj pliki symboli mogą zawierać następujące elementy:
Zmienne globalne
Zmienne lokalne
Nazwy funkcji i adresy punktów wejścia
Rekordy pominięcia wskaźnika ramki (FPO)
Numery wierszy źródłowych
Każdy z tych elementów jest nazywany indywidualnie symbolem. Na przykład pojedynczy plik symboli Myprogram.pdb może zawierać kilkaset symboli, w tym zmienne globalne i nazwy funkcji oraz setki zmiennych lokalnych. Często firmy programowe udostępniają dwie wersje każdego pliku symboli: pełny plik symboli zawierający zarówno symbole publiczne , jak i symbole prywatne, oraz zredukowany (pozbawiony) plik zawierający tylko symbole publiczne. Aby uzyskać szczegółowe informacje, zobacz Publiczne i prywatne symbole.
Podczas debugowania należy się upewnić, że debuger może uzyskać dostęp do plików symboli skojarzonych z obiektem docelowym, który debugujesz. Zarówno debugowanie na żywo, jak i debugowanie plików zrzutu awaryjnego wymagają symboli. Należy uzyskać odpowiednie symbole dla kodu, który chcesz debugować, i załadować te symbole do debugera.
Symbole systemu Windows
System Windows przechowuje symbole w plikach z rozszerzeniem .pdb.
Kompilator i linker kontrolują format symbolu. Linker Visual C++ umieszcza wszystkie symbole w plikach .pdb.
System operacyjny Windows został opracowany w dwóch wersjach. Bezpłatna kompilacja (lub kompilacja detaliczna) ma stosunkowo małe pliki binarne, a sprawdzona kompilacja (lub kompilacja debugowania) ma większe pliki binarne z większą większa ilością symboli debugowania w samym kodzie. Sprawdzone kompilacje były dostępne w starszych wersjach systemu Windows przed windows 10 w wersji 1803. Każda z tych kompilacji miała własne pliki symboli. Podczas debugowania obiektu docelowego w systemie Windows należy użyć plików symboli pasujących do kompilacji systemu Windows w obiekcie docelowym.
W poniższej tabeli wymieniono kilka katalogów, które istnieją w standardowym drzewie symboli systemu Windows:
| Katalog | Zawiera pliki symboli dla |
|---|---|
ACM |
Pliki menedżera kompresji audio firmy Microsoft |
COM |
Pliki wykonywalne (.com) |
CPL |
Programy Panelu sterowania |
DLL |
Pliki bibliotek linku dynamicznego (.dll) |
Odzyskiwanie po awarii |
Pliki sterowników (.drv) |
EXE |
Pliki wykonywalne (.exe) |
SCR |
Pliki wygaszacza ekranu |
SYSTEM |
Pliki sterowników (.sys) |