Udostępnij za pośrednictwem


/DEBUG (Generuj informacje o debugowaniu)

Opcja /DEBUG konsolidatora tworzy plik informacyjny debugowania dla pliku wykonywalnego.

Składnia

/DEBUG[:{FASTLINK||FULLNONE}]

Uwagi

Opcja /DEBUG umieszcza informacje debugowania z połączonych plików obiektów i bibliotek do pliku bazy danych programu (PDB). Aktualizuje on plik PDB podczas kolejnych kompilacji programu.

Plik wykonywalny (plik EXE lub DLL) utworzony do debugowania zawiera nazwę i ścieżkę odpowiedniego pliku PDB. Debuger odczytuje osadzoną nazwę i używa pliku PDB podczas debugowania programu. Konsolidator używa podstawowej nazwy programu i rozszerzenia .pdb , aby nazwać bazę danych programu i osadza ścieżkę, w której został utworzony. Aby zastąpić tę wartość domyślną, ustaw /PDB opcję i określ inną nazwę pliku.

Opcja /DEBUG:FASTLINK jest dostępna w programie Visual Studio 2017 lub nowszym. Ta opcja generuje ograniczony plik PDB, który indeksuje informacje debugowania w plikach obiektów i bibliotekach używanych do kompilowania pliku wykonywalnego zamiast tworzenia pełnej kopii. Ten ograniczony plik PDB można używać tylko do debugowania z komputera, na którym zostały skompilowane pliki binarne i jego biblioteki. Jeśli wdrożysz plik binarny w innym miejscu, możesz debugować go zdalnie z komputera kompilacji, ale nie bezpośrednio na komputerze testowym. Od programu Visual Studio 2019 /DEBUG:FULL czasy łączenia znacznie się poprawiły i /DEBUG:FASTLINK nie zawsze są szybsze niż /DEBUG:FULL. Ponieważ /DEBUG:FASTLINK nie zapewnia już większych ulepszeń czasu kompilacji i powoduje wolniejsze środowisko debugowania w porównaniu z /DEBUG:FULLopcją , ta opcja nie jest już zalecana.

Plik /DEBUG:FASTLINK PDB można przekonwertować na pełny plik PDB, który można wdrożyć na maszynie testowej na potrzeby debugowania lokalnego. W programie Visual Studio użyj okna dialogowego Strony właściwości, zgodnie z poniższym opisem, aby utworzyć pełny plik PDB dla projektu lub rozwiązania. W wierszu polecenia dla deweloperów możesz użyć mspdbcmf.exe narzędzia do utworzenia pełnego pliku PDB.

Opcja /DEBUG:FULL przenosi wszystkie prywatne informacje o symbolach z poszczególnych produktów kompilacji (plików obiektów i bibliotek) do pojedynczego pliku PDB i może być najbardziej czasochłonną częścią łącza. Jednak pełny plik PDB może służyć do debugowania pliku wykonywalnego, gdy nie są dostępne żadne inne produkty kompilacji, takie jak podczas wdrażania pliku wykonywalnego.

Opcja /DEBUG:NONE nie generuje pliku PDB.

Określenie /DEBUG bez dodatkowych argumentów jest równoważne określeniu /DEBUG:FULLelementu .

Opcja kompilatora /Z7 (zgodna z C7) powoduje pozostawienie informacji debugowania w plikach obiektu (OBJ). Można również użyć opcji kompilatora /Zi (Program Database) do przechowywania informacji debugowania w pliku PDB dla pliku OBJ. Konsolidator szuka pliku PDB obiektu najpierw w ścieżce bezwzględnej zapisanej w pliku OBJ, a następnie w katalogu zawierającym plik OBJ. Nie można określić nazwy pliku PDB obiektu ani lokalizacji konsolidatora.

/INCREMENTAL jest implikowane, gdy /DEBUG jest określony.

/DEBUG Zmienia wartości domyślne /OPT opcji z REF do NOREF i z ICF na NOICF, więc jeśli chcesz, aby oryginalne wartości domyślne, musisz jawnie określić /OPT:REF lub /OPT:ICF po /DEBUG opcji.

Nie można utworzyć pliku EXE ani biblioteki DLL zawierającej informacje o debugowaniu. Informacje debugowania są zawsze umieszczane w pliku OBJ lub PDB.

Aby ustawić tę opcję konsolidatora w środowisku programowania Visual Studio

  1. Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).

  2. Wybierz stronę właściwości Debugowanie konsolidatora>.

  3. Zmodyfikuj właściwość Generate Debug Info (Generowanie informacji debugowania), aby włączyć lub wyłączyć generowanie pliku PDB. Ta właściwość jest domyślnie włączona /DEBUG:FASTLINK w programie Visual Studio 2017 lub nowszym.

  4. Zmodyfikuj właściwość Generate Full Program Database File (Generuj pełny plik bazy danych programu), aby umożliwić pełne /DEBUG:FULL generowanie pliku PDB dla każdej kompilacji przyrostowej.

Aby programowo ustawić tę opcję konsolidatora

  1. Zobacz: GenerateDebugInformation.

Zobacz też

Dokumentacja konsolidatora MSVC
Opcje konsolidatora MSVC