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 ich dane wyjściowe, zostały pogrupowane w debugowanie projektów DLL ze względu na wspólne funkcje, które współużytkują.

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 nie wymienione 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 Project Ustawienia for a C++ Debug Configuration (Konfiguracja 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 krok po kroku, mogą nie zachowywać się zgodnie z oczekiwaniami.

Właściwości konfiguracji | Konsolidator | Węzeł debugowania

Nazwa właściwości Ustawienie
Generowanie informacji o debugowaniu Zawsze należy ustawić tę opcję na Tak (/DEBUG), aby utworzyć symbole debugowania i pliki potrzebne 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 Debugowanie wybierz pozycję Start.

  3. Debugowanie przy użyciu technik omówionych w temacie Pierwsze spojrzenie na debuger.

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 jeszcze nie jest

  3. Wybierz pozycję Ogólne i ustaw wartość wiersza Dane wyjściowe na Debugowanie.

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

    W wierszu Debugowanie określ typ informacji debugowania, które mają być generowane przez kompilator. Wartości, które można wybrać, obejmują bazę danych programu (/Zi) lub bazę danych programu do edycji i kontynuowania (/ZI).

  5. Wybierz pozycję Optymalizacja, a następnie w wierszu Optymalizacja wybierz pozycję Wyłączone (/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ł Konsolidator i wybierz pozycję Debugowanie. W pierwszym wierszu Wygeneruj wybierz pozycję Tak (/DEBUG) z listy rozwijanej. Zawsze ustawiaj to podczas debugowania.

    Aby uzyskać więcej informacji, zobaczProject Ustawienia for a C++ Debug Configuration (Konfiguracja debugowania języka C++).

    W tym temacie