Udostępnij za pośrednictwem


Przygotowywanie debugowania: typy projektów C++

W tej sekcji opisano sposób debugowania podstawowych typów projektów utworzonych przez szablony projektów Visual C++.

Należy pamiętać, że te typy projektów, które tworzą biblioteki DLL jako swoje wyjście, zostały zgrupowane w ramach Debugowanie projektów DLL ze względu na wspólne cechy.

W tym temacie

zalecane ustawienia właściwości

Projekty Win32

Niektóre właściwości powinny być ustawiane w taki sam sposób dla wszystkich niezarządzanych scenariuszy debugowania. W poniższych tabelach są wyświetlane zalecane ustawienia właściwości. Ustawienia niewymienione w tym miejscu mogą się różnić w zależności od różnych niezarządzanych typów projektów. Aby uzyskać więcej informacji, zobacz Ustawienia projektu dla konfiguracji debugowania języka C++.

Właściwości konfiguracji | C/C++ | Węzeł optymalizacji

Nazwa właściwości Ustawienie
Optymalizacja Ustaw wartość Wyłączone (/0d). Zoptymalizowany kod jest trudniejszy do debugowania, ponieważ wygenerowane instrukcje nie odpowiadają bezpośrednio kodowi źródłowemu. Jeśli okaże się, że program zawiera usterkę wyświetlaną tylko w zoptymalizowanym kodzie, możesz włączyć to ustawienie, ale pamiętaj, że kod wyświetlany w oknie Dezasemblacji jest generowany na podstawie zoptymalizowanego źródła, które może nie być zgodne z tym, co widzisz w oknach źródłowych. Inne funkcje, takie jak stepping, mogą nie działać zgodnie z oczekiwaniami.

Właściwości konfiguracji | Linker | Opcje debugowania

Nazwa właściwości Ustawienie
Generowanie informacji debugowania Zawsze należy ustawić tę opcję na Tak (/DEBUG) w celu utworzenia symboli debugowania i plików wymaganych do debugowania. Gdy aplikacja przechodzi do środowiska produkcyjnego, można ją wyłączyć.

W tym temacie

Projekty Win32

Aplikacje Win32 to tradycyjne programy systemu Windows napisane w języku C lub C++. Debugowanie tego typu aplikacji w programie Visual Studio jest proste.

Aplikacje Win32 obejmują aplikacje MFC i projekty ATL. Używają interfejsów API systemu Windows i mogą używać MFC lub ATL, ale nie używają środowiska uruchomieniowego języka wspólnego (CLR). Mogą jednak wywołać kod zarządzany, który używa środowiska CLR.

Poniższa procedura wyjaśnia, jak debugować projekt Win32 z poziomu programu Visual Studio. Innym sposobem debugowania aplikacji Win32 jest uruchomienie aplikacji poza programem Visual Studio i dołączenie do niej. Aby uzyskać więcej informacji, zobacz Dołączanie do uruchomionych procesów.

Aby debugować aplikację Win32 języka C lub C++

  1. Otwórz projekt w programie Visual Studio.

  2. W menu debugowania wybierz pozycję Start.

  3. Debugowanie przy użyciu technik omówionych w Najpierw zapoznaj się z debugerem.

Aby ręcznie ustawić konfigurację debugowania

  1. W menu Widok kliknij pozycję Strony właściwości.

  2. Kliknij węzeł Właściwości konfiguracji, aby go otworzyć, jeśli nie jest już otwarty.

  3. Wybierz Ogólnei ustaw wartość wiersza danych wyjściowych na Debug.

  4. Otwórz węzeł C/C++, a następnie wybierz opcję Ogólne.

    W wierszu Debug określasz rodzaj informacji debugowania, które wygeneruje kompilator. Wartości, które można wybrać, obejmują bazę danych programu (/Zi) lub bazę danych programu programu do edycji & kontynuuj (/ZI).

  5. Wybierz pozycję Optimization, a następnie w wierszu Optimization wybierz pozycję Disabled (/0d) z listy rozwijanej.

    Zoptymalizowany kod jest trudniejszy do debugowania, ponieważ wygenerowane instrukcje nie odpowiadają bezpośrednio kodowi źródłowemu. Jeśli znajdziesz, że program zawiera usterkę wyświetlaną tylko w zoptymalizowanym kodzie, możesz włączyć to ustawienie, ale pamiętaj, że kod wyświetlany w oknie Dezasemblacji jest generowany na podstawie zoptymalizowanego źródła, które może nie być zgodne z tym, co widzisz w oknach źródłowych. Funkcje, takie jak krok, mogą niepoprawnie pokazywać punkty przerwania i punkt wykonywania.

  6. Otwórz węzeł konsolidatora, a następnie wybierz pozycję Debugowanie. W pierwszym wierszu Wygeneruj wybierz pozycję Tak (/DEBUG) z listy rozwijanej. Zawsze ustawiaj to podczas debugowania.

    Aby uzyskać więcej informacji, zobacz Ustawienia projektu dla konfiguracji debugowania języka C++.

    W tym temacie