Porady: kompilowanie warunkowe ze śledzeniem i debugowaniem

Podczas debugowania aplikacji podczas programowania zarówno śledzenie, jak i debugowanie danych wyjściowych przejdź do okna Dane wyjściowe w programie Visual Studio. Jednak aby uwzględnić funkcje śledzenia we wdrożonej aplikacji, należy skompilować instrumentowane aplikacje z włączoną dyrektywą kompilatora TRACE . Umożliwia to skompilowanie kodu śledzenia w wersji aplikacji. Jeśli nie włączysz dyrektywy TRACE , cały kod śledzenia jest ignorowany podczas kompilacji i nie jest uwzględniony w kodzie wykonywalny, który zostanie wdrożony.

Zarówno metody śledzenia, jak i debugowania mają skojarzone atrybuty warunkowe. Jeśli na przykład atrybut warunkowy śledzenia ma wartość true, wszystkie instrukcje śledzenia są uwzględniane w zestawie (skompilowanym pliku .exe lub .dll); jeśli atrybut warunkowy Trace ma wartość false, instrukcje śledzenia nie są uwzględniane.

Możesz mieć włączony atrybut warunkowy Śledzenie lub Debugowanie dla kompilacji lub obu tych elementów albo żaden z nich. W związku z tym istnieją cztery typy kompilacji: Debugowanie, Śledzenie, oba lub żadne z nich. Niektóre kompilacje wydania dla wdrożenia produkcyjnego mogą nie zawierać żadnej z nich; większość kompilacji debugowania zawiera obie te kompilacje.

Ustawienia kompilatora dla aplikacji można określić na kilka sposobów:

  • Strony właściwości

  • Wiersz polecenia

  • #CONST (dla języka Visual Basic) i #define (dla języka C#)

Aby zmienić ustawienia kompilacji z okna dialogowego strony właściwości

  1. Kliknij prawym przyciskiem myszy węzeł projektu w Eksplorator rozwiązań.

  2. Wybierz pozycję Właściwości z menu skrótów.

    • W języku Visual Basic kliknij kartę Kompiluj w lewym okienku strony właściwości, a następnie kliknij przycisk Zaawansowane opcje kompilowania, aby wyświetlić okno dialogowe Zaawansowane kompilator Ustawienia. Zaznacz pola wyboru ustawień kompilatora, które chcesz włączyć. Wyczyść pola wyboru ustawień, które chcesz wyłączyć.

    • W języku C# kliknij kartę Kompilacja w lewym okienku strony właściwości, a następnie zaznacz pola wyboru ustawień kompilatora, które chcesz włączyć. Wyczyść pola wyboru ustawień, które chcesz wyłączyć.

Aby skompilować instrumentowany kod przy użyciu wiersza polecenia

  1. Ustaw przełącznik kompilatora warunkowego w wierszu polecenia. Kompilator będzie zawierać kod śledzenia lub debugowania w pliku wykonywalny.

    Na przykład następująca instrukcja kompilatora wprowadzona w wierszu polecenia zawiera kod śledzenia w skompilowanym pliku wykonywalnym:

    Dla języka Visual Basic: vbc -r:System.dll -d:TRACE=TRUE -d:DEBUG=FALSE MyApplication.vb

    Dla języka C#: csc -r:System.dll -d:TRACE -d:DEBUG=FALSE MyApplication.cs

    Napiwek

    Aby skompilować więcej niż jeden plik aplikacji, pozostaw puste miejsce między nazwami plików, na przykład MyApplication1.vb MyApplication2.vb MyApplication3.vb lub MyApplication1.cs MyApplication2.cs MyApplication3.cs.

    Znaczenie dyrektyw kompilacji warunkowej używanych w powyższych przykładach jest następujące:

    Dyrektywa Znaczenie
    vbc kompilator Visual Basic
    csc Kompilator C#
    -r: Odwołuje się do zestawu zewnętrznego (EXE lub DLL)
    -d: Definiuje symbol kompilacji warunkowej

    Uwaga

    Musisz wyczarować ciąg TRACE lub DEBUG z wielkimi literami. Aby uzyskać więcej informacji na temat poleceń kompilacji warunkowej, wprowadź vbc /? (dla języka Visual Basic) lub csc /? (dla języka C#) w wierszu polecenia. Aby uzyskać więcej informacji, zobacz Kompilowanie z poziomu wiersza polecenia (C#) lub wywoływanie kompilatora wiersza polecenia (Visual Basic).

Aby przeprowadzić kompilację warunkową przy użyciu #CONST lub #define

  1. Wpisz odpowiednią instrukcję dla języka programowania w górnej części pliku kodu źródłowego.

    Język Oświadczenie Result
    Visual Basic #CONST TRACE = true Włącza śledzenie
    #CONST TRACE = false Wyłącza śledzenie
    #CONST DEBUG = true Włącza debugowanie
    #CONST DEBUG = false Wyłącza debugowanie
    C# śledzenie #define Włącza śledzenie
    śledzenie #undef Wyłącza śledzenie
    debugowanie #define Włącza debugowanie
    debugowanie #undef Wyłącza debugowanie

Aby wyłączyć śledzenie lub debugowanie

Usuń dyrektywę kompilatora z kodu źródłowego.

- lub -

Oznacz jako komentarz dyrektywę kompilatora.

Uwaga

Gdy wszystko będzie gotowe do skompilowania, możesz wybrać pozycję Kompiluj z menu Kompilacja lub użyć metody wiersza polecenia, ale bez wpisywania symboli d: w celu zdefiniowania symboli kompilacji warunkowej.

Zobacz też