/Z7, /Zi, /ZI (Format informacji o debugowaniu)

Wybierz typ informacji o debugowaniu utworzonych dla programu i czy te informacje są przechowywane w plikach obiektowych (.obj), czy w bazie danych programu (PDB).

/Z{7|i|I}

Uwagi

Opcje te są opisane w poniższej tabeli.

  • Brak
    Nie tworzy informacji o debugowaniu, więc kompilacja jest szybsza.

  • /Z7
    Tworzy plik .obj zawierający pełne symboliczne informacje dla debugowania do użytku z debugerem.Symboliczne informacje debugowania zawierają nazwy i typy zmiennych, a także funkcje i numery wierszy.Nie jest tworzony plik .pdb.

    Dla dystrybutorów bibliotek innych producentów nieposiadanie pliku .pdb jest zaletą.Jednak pliki .obj dla wstępnie skompilowanych nagłówków są niezbędne w fazie linkowania i debugowania.Jeśli istnieje tylko informacja o typie (i nie ma kodu) w plikach obiektowych .pch, musisz też uruchomić kompilację z parametrem /Yl (Wprowadź odnośnik PCH dla bibliotek debugowania).

  • /Zi
    Tworzy bazę danych programu (PDB) zawierającą informacje o typie i informacje symboliczne dla debugowania do użytku z debugerem.Symboliczne informacje debugowania zawierają nazwy i typy zmiennych, a także funkcje i numery wierszy.

    Opcja /Zi nie wpływa na optymalizację.Jednak /Zi pociąga za sobą /debug; zobacz /DEBUG (Generowanie informacji o debugowaniu), aby uzyskać więcej informacji.

    Informacje o typie są umieszczane w pliku .pdb, a nie w pliku .obj.

    Możesz użyć /Gm (Włącz minimalną ponowną kompilację) z /Zi, podczas gdy /Gm nie jest dostępny podczas kompilacji z /Z7.

    Podczas kompilowania z /Zi i /clr, atrybut DebuggableAttribute nie zostanie umieszczony w metadanych zestawu; należy go określić w kodzie źródłowym, jeśli chcesz go zastosować.Ten atrybut może mieć wpływ na wydajność wykonywania aplikacji.Aby uzyskać więcej informacji dotyczących sposobu, w jaki atrybut Debuggable ma wpływ na wydajność i jak można zmodyfikować ten wpływ na wydajność, zobacz Ułatwianie debugowania obrazu.

  • /ZI
    Tworzy bazę danych programu, jak opisano powyżej, w formacie, który obsługuje funkcję Edit-and-Continue.Jeśli chcesz używać debugowania "Edytuj i kontynuuj" (Edit-and-Continue), musisz użyć tej opcji.Ponieważ większość optymalizacji jest niezgodnych z funkcją Edytuj i kontynuuj, polecenie /ZI wyłącza wszelkie instrukcje #pragma optimize w kodzie.

    Opcja /ZI powoduje, że polecenia /Gy (Włączenie łączenia na poziomie funkcji) i /FC (Pełna ścieżka pliku kodu źródłowego w Diagnostyce) są wykorzystywane w kompilacji.

    Opcja /ZI nie jest zgodna z poleceniem /clr (Kompilacja środowiska uruchomieniowego języka wspólnego).

    [!UWAGA]

    Opcja /ZI jest dostępna tylko w kompilatorze dla architektury x86; ta opcja kompilatora nie jest dostępna w kompilatorach przeznaczonych dla architektury x64 ani procesorów ARM.

Kompilator nadaje bazie danych programu nazwę project.pdb.Jeśli skompilujesz plik bez projektu, kompilator utworzy bazę danych o nazwie VCx0.pdb., gdzie x to główny numer użytej wersji Visual C++.Kompilator osadza nazwę PDB w każdym pliku .obj utworzonym przy użyciu tej opcji, wskazując debugerowi lokalizację symboli i informacje o numerze wiersza.Gdy używasz tej opcji, pliki .obj będą mniejsze, ponieważ informacje debugowania są przechowywane w pliku .pdb, a nie w plikach .obj.

Jeśli tworzysz bibliotekę z obiektów, które zostały skompilowane przy użyciu tej opcji, skojarzony plik .pdb musi być dostępny w momencie linkowania biblioteki z danym programem.W ten sposób, jeśli rozpowszechniasz bibliotekę, musisz rozpowszechnić PDB.

Aby utworzyć bibliotekę, która zawiera informacje o debugowaniu bez używania plików .pdb, należy wybrać opcję zgodności kompilatora z C 7.0 (/Z7).Jeśli używasz opcji wstępnie skompilowanych nagłówków, debugowanie informacji zarówno dla wstępnie skompilowanego nagłówka, jak i pozostałej części kodu źródłowego jest umieszczane w PDB.Opcja /Yd jest ignorowana, jeżeli określono opcję bazy danych programu.

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

  1. Otwórz okno dialogowe Strony właściwości projektu.Szczegółowe informacje – zobacz: Porady: otwieranie stron właściwości projektów.

  2. Kliknij folder C/C++.

  3. Kliknij stronę właściwości Ogólne.

  4. Zmodyfikuj właściwość Formatu informacji debugowania.

Aby programowo ustawić tę opcję kompilatora

Zobacz też

Informacje

Opcje kompilatora

Ustawianie opcji kompilatora