Debugowanie w czasie projektowania w programie Visual Studio (C#, C++/CLI, Visual Basic, F#)
Aby debugować kod w czasie projektowania zamiast podczas działania aplikacji, możesz użyć okna Natychmiastowe .
Aby debugować kod XAML za aplikacją z projektanta XAML, takiego jak scenariusze deklaratywnego powiązania danych, możesz użyć dołączania debugowania>do procesu.
Korzystanie z okna natychmiastowego
Możesz użyć okna natychmiastowego programu Visual Studio, aby wykonać funkcję lub podroutine bez uruchamiania aplikacji. Jeśli funkcja lub podroutyna zawiera punkt przerwania, program Visual Studio zostanie przerwany w punkcie przerwania. Następnie możesz użyć okien debugera do zbadania stanu programu. Ta funkcja jest nazywana debugowaniem w czasie projektowania.
Poniższy przykład dotyczy języka Visual Basic. Możesz również użyć okna natychmiastowego w czasie projektowania w aplikacjach C#, F# i C++/CLI. W przypadku języka C++/CLI skompiluj bez opcji /clr, aby użyć okna natychmiastowego.
Wklej następujący kod do pustej aplikacji konsolowej Visual Basic:
Module Module1 Sub Main() MySub() End Sub Function MyFunction() As Decimal Static i As Integer i = i + 1 Return i End Function Sub MySub() MyFunction() End Sub End Module
Ustaw punkt przerwania w funkcji końcowej wiersza.
Otwórz okno Natychmiastowe, wybierając pozycję Debuguj>natychmiast systemu Windows.> Wpisz
?MyFunction
w oknie, a następnie naciśnij klawisz Enter.Punkt przerwania jest trafiony, a wartość MyFunction w oknie Ustawienia lokalne to 1. Możesz sprawdzić stos wywołań i inne okna debugowania, gdy aplikacja jest w trybie przerwania.
Wybierz pozycję Kontynuuj na pasku narzędzi programu Visual Studio. Aplikacja zostanie zakończona, a wartość 1 zostanie zwrócona w oknie Natychmiastowy . Upewnij się, że nadal jesteś w trybie projektowania.
Wpisz
?MyFunction
ponownie okno Natychmiastowe i naciśnij klawisz Enter. Punkt przerwania jest trafiony, a wartość MyFunction w oknie Ustawienia lokalne wynosi 2.Bez wybrania pozycji Kontynuuj wpisz
?MySub()
w oknie Natychmiastowe , a następnie naciśnij klawisz Enter. Punkt przerwania jest trafiony, a wartość MyFunction w oknie Ustawienia lokalne to 3. Stan aplikacji można sprawdzić, gdy aplikacja jest w trybie przerwania.Wybierz Kontynuuj. Punkt przerwania zostanie ponownie trafiony, a wartość MyFunction w oknie Ustawienia lokalne wynosi teraz 2. Okno Natychmiastowe zwraca wyrażenie zostało obliczone i nie ma wartości.
Ponownie wybierz pozycję Kontynuuj . Aplikacja zostanie zakończona, a wartość 2 zostanie zwrócona w oknie Natychmiastowy . Upewnij się, że nadal jesteś w trybie projektowania.
Aby wyczyścić zawartość okna Natychmiastowe, kliknij prawym przyciskiem myszy okno i wybierz polecenie Wyczyść wszystko.
Debugowanie niestandardowej kontrolki XAML w czasie projektowania przez dołączenie do projektanta XAML
Otwórz rozwiązanie lub projekt w programie Visual Studio.
Skompiluj rozwiązanie/projekt.
Otwórz stronę XAML zawierającą kontrolkę niestandardową, którą chcesz debugować.
W przypadku projektów platformy UWP przeznaczonych dla kompilacji systemu Windows 16299 lub nowszej ten krok spowoduje uruchomienie procesu UwpSurface.exe . W przypadku projektów WPF przeznaczonych dla kompilacji systemu Windows 16299 lub nowszej ten krok spowoduje uruchomienie procesu WpfSurface.exe . W przypadku wersji WPF lub UWP przed kompilacją systemu Windows 16299 ten krok spowoduje uruchomienie procesu XDesProc.exe .
Otwórz drugie wystąpienie programu Visual Studio. Nie otwieraj rozwiązania ani projektu w drugim wystąpieniu.
W drugim wystąpieniu programu Visual Studio otwórz menu Debuguj i wybierz pozycję Dołącz do procesu....
W zależności od typu projektu (zobacz poprzednie kroki) wybierz proces UwpSurface.exe, WpfSurface.exe lub XDesProc.exe z listy dostępnych procesów.
W polu Dołącz do okna dialogowego Dołączanie do procesu wybierz prawidłowy typ kodu dla kontrolki niestandardowej, którą chcesz debugować.
Jeśli kontrolka niestandardowa została napisana w języku .NET, wybierz odpowiedni typ kodu platformy .NET, taki jak Managed (CoreCLR). Jeśli kontrolka niestandardowa została napisana w języku C++, wybierz pozycję Natywna.
Dołącz drugie wystąpienie programu Visual Studio, klikając przycisk Dołącz .
W drugim wystąpieniu programu Visual Studio otwórz pliki kodu skojarzone z kontrolką niestandardową, którą chcesz debugować. Pamiętaj, aby po prostu otworzyć pliki, a nie całe rozwiązanie lub projekt.
Umieść niezbędne punkty przerwania w wcześniej otwartych plikach.
W pierwszym wystąpieniu programu Visual Studio zamknij stronę XAML zawierającą kontrolkę niestandardową, którą chcesz debugować (ta sama strona została otwarta we wcześniejszych krokach).
W pierwszym wystąpieniu programu Visual Studio otwórz stronę XAML zamkniętą w poprzednim kroku. Spowoduje to zatrzymanie debugera w pierwszym punkcie przerwania ustawionym w drugim wystąpieniu programu Visual Studio.
Debuguj kod w drugim wystąpieniu programu Visual Studio.