Porady: kompilowanie warunkowe ze śledzeniem i debugowaniem
Uwaga
Ten artykuł jest specyficzny dla programu .NET Framework. Nie ma zastosowania do nowszych implementacji platformy .NET, w tym .NET 6 i nowszych wersji.
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
Kliknij prawym przyciskiem myszy węzeł projektu w Eksplorator rozwiązań.
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 ustawienia kompilatora. 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
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) lubcsc /?
(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
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ż
- Śledzenie i instrumentowanie aplikacji
- Instrukcje: tworzenie, inicjowanie i konfigurowanie przełączników śledzenia
- Przełączniki śledzenia
- Obiekty nasłuchujące śledzenie
- Instrukcje: Dodawanie instrukcji śledzenia do kodu aplikacji
- Jak ustawić zmienne środowiskowe dla wiersza polecenia programu Visual Studio
- Instrukcje: wywoływanie kompilatora z wiersza polecenia