Tworzenie wizualnej mapy stosu wywołań podczas debugowania (C#, Visual Basic, C++, JavaScript)
Utwórz mapę kodu, aby wizualnie śledzić stos wywołań podczas debugowania. Możesz tworzyć notatki na mapie, aby śledzić, co robi kod, aby skoncentrować się na znajdowaniu usterek.
Aby uzyskać szczegółowe informacje o poleceniach i akcjach, których można używać z mapami kodu, zobacz Przeglądanie i rozmieszczanie map kodu.
Ważne
Mapy kodu można tworzyć tylko w programie Visual Studio Enterprise.
Oto krótkie spojrzenie na mapę kodu:
Mapuj stos wywołań
W projekcie Visual Studio Enterprise C#, Visual Basic, C++lub JavaScript rozpocznij debugowanie, wybierając pozycję Debuguj>rozpocznij debugowanie lub naciskając klawisz F5.
Po wprowadzeniu trybu przerwania aplikacji lub przejściu do funkcji wybierz pozycję Debuguj>mapę kodu lub naciśnij klawisze Ctrl+Shift.+`
Bieżący stos wywołań jest wyświetlany w kolorze pomarańczowym na nowej mapie kodu:
Mapa kodu jest aktualizowana automatycznie podczas dalszego debugowania. Zmiana elementów mapy lub układu nie wpływa na kod w żaden sposób. Możesz dowolnie zmienić nazwę, przenieść lub usunąć elementy na mapie.
Aby uzyskać więcej informacji o elemencie, umieść kursor na nim i przyjrzyj się etykietce narzędzia elementu. Możesz również wybrać pozycję Legenda na pasku narzędzi, aby dowiedzieć się, co oznacza każda ikona.
Uwaga
Komunikat Diagram może być oparty na starszej wersji kodu w górnej części mapy kodu oznacza, że kod mógł ulec zmianie po ostatniej aktualizacji mapy. Na przykład wywołanie mapy może już nie istnieć w kodzie. Zamknij komunikat, a następnie spróbuj odbudować rozwiązanie przed ponowną aktualizacją mapy.
Mapuj kod zewnętrzny
Domyślnie na mapie jest wyświetlany tylko własny kod. Aby wyświetlić kod zewnętrzny na mapie:
Kliknij prawym przyciskiem myszy w oknie Stos wywołań i wybierz polecenie Pokaż kod zewnętrzny:
Możesz też usunąć zaznaczenie pozycji Włącz tylko mój kod w narzędziach Visual Studio Tools (lub debugowaniu)> Opcje>debugowania:
Kontrolowanie układu mapy
Zmiana układu mapy nie wpływa na kod w żaden sposób.
Aby kontrolować układ mapy, wybierz menu Układ na pasku narzędzi mapy.
W menu Układ można wykonywać następujące czynności:
- Zmiana układu domyślnego.
- Zatrzymaj automatyczne rozmieszczanie mapy, usuwając zaznaczenie opcji Automatycznie układ podczas debugowania.
- Zmień kolejność mapy tak mało, jak to możliwe podczas dodawania elementów, usuwając zaznaczenie układu przyrostowego.
Zanotuj kod
Możesz dodawać komentarze, aby śledzić, co się dzieje w kodzie.
Aby dodać komentarz, kliknij prawym przyciskiem myszy mapę kodu i wybierz polecenie Edytuj>nowy komentarz, a następnie wpisz komentarz.
Aby dodać nowy wiersz w komentarzu, naciśnij klawisz Shift+Enter.
Aktualizowanie mapy przy użyciu następnego stosu wywołań
Gdy uruchamiasz aplikację w następnym punkcie przerwania lub przechodzisz do funkcji, mapa automatycznie dodaje nowe stosy wywołań.
Aby zatrzymać automatyczne dodawanie nowych stosów wywołań, wybierz pasek narzędzi mapy kodu. Mapa nadal wyróżnia istniejące stosy wywołań. Aby ręcznie dodać bieżący stos wywołań do mapy, naciśnij klawisze Ctrl+Shift+`.
Dodawanie powiązanego kodu do mapy
Teraz, gdy masz mapę w języku C# lub Visual Basic, możesz dodawać elementy, takie jak pola, właściwości i inne metody, aby śledzić, co dzieje się w kodzie.
Aby przejść do definicji metody w kodzie, kliknij dwukrotnie metodę na mapie lub wybierz ją i naciśnij klawisz F12 lub kliknij ją prawym przyciskiem myszy i wybierz polecenie Przejdź do definicji.
Aby dodać elementy, które chcesz śledzić na mapie, kliknij prawym przyciskiem myszy metodę i wybierz elementy, które chcesz śledzić. Ostatnio dodane elementy są wyświetlane na zielono.
Uwaga
Domyślnie dodanie elementów do mapy powoduje również dodanie węzłów grupy nadrzędnej, takich jak klasa, przestrzeń nazw i zestaw. Tę funkcję można wyłączyć i włączyć, wybierając przycisk Uwzględnij elementy nadrzędne na pasku narzędzi mapy kodu lub naciskając klawisze Ctrl podczas dodawania elementów.
Kontynuuj tworzenie mapy, aby zobaczyć więcej kodu.
Znajdowanie usterek przy użyciu mapy
Wizualizacja kodu pomoże w szybszym znalezieniu błędów. Załóżmy na przykład, że badasz usterkę w aplikacji rysunkowej. Po narysowaniu linii, w przypadku próby cofnięcia nic się nie dzieje, aż do rysowania kolejnej linii.
Dlatego ustawiasz punkty przerwania w clear
metodach , undo
i Repaint
, rozpocznij debugowanie i skompilujesz mapę podobną do następującej:
Zauważysz, że wszystkie gesty użytkownika w wywołaniu Repaint
mapy , z wyjątkiem undo
. Może to wyjaśnić, dlaczego undo
nie działa natychmiast.
Po naprawieniu usterki i kontynuowaniu uruchamiania aplikacji mapa dodaje nowe wywołanie z undo
do :Repaint
Udostępnianie mapy innym osobom
Możesz wyeksportować mapę, wysłać ją do innych osób za pomocą programu Microsoft Outlook, zapisać ją w rozwiązaniu i zaewidencjonować w kontroli wersji.
Aby udostępnić lub zapisać mapę, użyj opcji Udostępnij na pasku narzędzi mapy kodu.