Udostępnij przez


Systemy plików symbolicznych

Istnieją dwa typowe systemy plików symboli. W tym dokumencie będą one określane jako bieżący system i stary system.

Bieżący system plików symboli

W bieżącym systemie zawsze istnieją dwa pliki: plik wykonywalny i plik .pdb. Plik .pdb zawiera wszystkie symbole. Plik wykonywalny zawiera wskaźnik do pliku .pdb.

Jeśli plik symboli .pdb zawiera prywatne symbole, BinPlace może usunąć te informacje i utworzyć pozbawiony plik symboli. Aby uzyskać szczegółowe informacje, zobacz Publiczne symbole i prywatne symbole .

Stary system plików symboli

W starym systemie pliki wykonywalne i pliki symboli można rozmieścić na dwa różne sposoby:

  • Plik wykonywalny i plik .pdb. W tym układzie większość informacji o symbolach znajduje się w pliku .pdb. Pozostała część informacji o symbolach jest zawarta w pliku wykonywalnym. Plik wykonywalny zawiera również wskaźnik do pliku .pdb.

  • Plik wykonywalny, plik pdb i plik dbg. Plik .pdb jest taki sam jak w układzie dwóch plików: zawiera większość symboli. Pozostała część informacji o symbolu znajduje się w pliku dbg. W pliku wykonywalnym brakuje informacji o symbolach. Plik wykonywalny zawiera wskaźnik do pliku dbg, a plik dbg zawiera wskaźnik do pliku .pdb.

W starym systemie plików symboli układ dwóch plików i układ trzech plików zawiera ten sam kod wykonywalny i te same symbole. Program można uruchomić i można go debugować w obu układach. Jednak rozmieszczenie trzech plików przyspiesza wykonywanie, ponieważ plik wykonywalny jest mniejszy.

Jeśli masz pliki binarne, które zostały skompilowane przy użyciu starego systemu plików symboli w układzie dwóch plików, binPlace może przekonwertować go na układ trzech plików. Innymi słowy, BinPlace może "podzielić" plik wykonywalny na plik wykonywalny bez symboli i nowy plik dbg zawierający symbole, które znajdowały się w pliku wykonywalnym.

BinPlace może również usuwać prywatne informacje o symbolach z plików w starym systemie plików symboli, ale tylko wtedy, gdy jest on również podzielony (innymi słowy, tylko wtedy, gdy zmienia pliki z układu dwóch plików na układ trzech plików). BinPlace nie może usunąć prywatnych symboli z plików w starym systemie plików symboli i pozostawić je w układzie dwóch plików. A jeśli pliki są już w układzie trójplikowym, BinPlace nie wykona żadnych usunięć; faktycznie, nie przeniesie nawet plików symboli, jeśli plik wykonywalny wskaże się w wierszu poleceń BinPlace. Aby uzyskać szczegółowe informacje, zobacz Publiczne symbole i prywatne symbole .