Mapowanie określonych zależności na mapach kodu
Aby zrozumieć zależności określone w kodzie, wizualizować je przez utworzenie kodu map (programu Visual Studio Ultimate tylko).Następnie można przejść te relacje przy użyciu mapy, który jest wyświetlany obok kodu.Ułatwia to śledzenie miejsca w kodzie, podczas pracy.
Pokazuje strzałka zielony, gdy kursor pojawi się w edytorze. Można robić notatki na mapie, jak na papierze.
Mapy kodu pomagają uniknąć zagubienia w dużych bazach kodu, w nieznanym kodzie lub w starszym kodzie.Na przykład podczas debugowania możesz chcieć spojrzeć na kod w wielu plikach i projektach.Mapy kodu pomagają w poruszaniu się po fragmentach kodu i obserwowaniu relacji między nimi.Nie trzeba pamiętać całego kodu, śledzić informacji o plikach czy rysować oddzielnego diagramu na papierze.Jeśli trzeba przerwać pracę, mapy kodu pomogą odświeżyć sobie pamięć o kodzie, nad którym pracujesz.
Utwórz lub Otwórz mapę kodu
Aby utworzyć mapę kodu potrzebne programu Visual Studio Ultimate 2013 i rozwiązanie, które ma Visual C# .NET, Visual Basic .NET, X ++ dla programu Microsoft Dynamics AX lub kodu C++ (obsługa ograniczona).Aby uzyskać relacje kolorami, konieczne będzie programu Visual Studio 2013 Update 3.Do mapowania kodu X ++ i kodu, który jest udostępniony w wielu aplikacjach, konieczne będzie programu Visual Studio 2013 Update 2 lub nowszego.
Możesz Tworzenie mapę kodu przez:
Prawym przyciskiem myszy element, takie jak pliku źródłowego lub pliku binarnego w Eksploratorze rozwiązań i wybierając polecenie Pokaż na mapie kodu.Spowoduje to utworzenie mapy kodu dla wybranego elementu.
Przeciąganie elementu, takie jak pliku źródłowego lub pliku binarnego z Eksploratora rozwiązań na Otwórz mapę kodu, aby uwzględnić i/lub zaznacz element na mapie.
Prawym przyciskiem myszy pusty obszar w oknie edytora i wybierając polecenie Pokaż na mapie kodu.Spowoduje to utworzenie nowej mapy kodu puste.
Kliknięcie prawym przyciskiem myszy obiektu lub klasy w oknie edytora i wybierając polecenie Pokaż na mapie kodu.Spowoduje to utworzenie mapy kodu dla wybranego elementu.Można również znaleźć wszystkie odwołania i wyświetlić elementy pokrewne na mapie kodu za pomocą tego menu.
Kliknij przycisk mapy kodu znajdującego się na Debugowanie menu, gdy aplikacja została wstrzymana.
Otwórz plik IntelliTrace, lub jako wykres zależności z architektury menu.
Możesz Wyświetlanie, dokonaj edycji ograniczone, i Przejdź mapy kodu za pomocą programu Visual Studio Premium 2013 lub programu Visual Studio Professional 2013.
Przed udostępnieniem map korzystający z wersji Premium lub Professional, upewnij się, że wszystkie elementy na mapie są widoczne, takich jak elementy ukryte, rozwiniętej grupy i łącza cross grupy.
Obejrzyj map kodu w akcji: Opis złożonego kodu za pomocą mapy kodu (Channel 9)
Omówienie problemu
Przypuśćmy, że w programie graficznym, nad którym pracujesz, znajduje się błąd.Aby odtworzyć dany błąd, otwórz rozwiązanie w programie Visual Studio Ultimate, a następnie naciśnij klawisz F5, aby uruchomić debugowanie.
Po narysowaniu linii i wybraniu polecenia Cofnij moje ostatnie pociągnięcie, aż do rysowania następnej linii nic się nie dzieje.
Tak więc należy rozpocząć badanie od wyszukania metody Undo.Znajdziesz go w klasie PaintCanvas.
Uruchamianie mapowania kodu
Teraz możesz rozpocząć mapowanie undo metody i relacje.Z edytora kodu dodaj metodę undo i pola, do których się odwołuje, do nowej mapy kodu.Podczas tworzenia nowej mapy może trochę czasu może zająć indeksowanie kodu.Dzięki temu następne operacje działają szybciej.
Porada |
---|
Zielone podświetlenie pokazuje ostatnie elementy dodane do mapy.Zielona strzałka wskazuje pozycję kursora w kodzie.Strzałki między elementami reprezentują różne relacje.Można uzyskać więcej informacji o elementach na mapie, badając ich etykiety narzędzi. |
Nawigowanie i sprawdzanie kodu z mapy
Aby zobaczyć definicję kodu dla każdego pola, kliknij dwukrotnie pole na mapie lub wybierz pole i naciśnij klawisz F12.Zielona strzałka przesuwa się między elementami na mapie.Kursor w edytorze kodu również przesuwa się automatycznie.
Porada |
---|
Zieloną strzałkę na mapie możesz również przesunąć, przesuwając kursor w edytorze kodu. |
Omówienie relacji między fragmentami kodu
Teraz chcesz wiedzieć, który inny kod współdziała z history i paintObjects polami.Możesz dodać do mapy wszystkie metody odwołujące się do tych pól.Możesz to zrobić z mapy albo z kodu.
Zmień układ, aby przeorganizować przepływ relacji i poprawić czytelność mapy.Elementy na mapie możesz również przesuwać, przeciągając je.
Porada |
---|
Domyślnie opcja Układ przyrostowy jest włączona.Dzięki temu mapa jest reorganizowana w możliwie najmniejszym stopniu przy dodawaniu nowych elementów.Aby zmienić mapę przy każdym dodawaniu nowych elementów, należy wyłączyć opcję Układ przyrostowy. |
Zbadajmy te metody.Na mapie, kliknij dwukrotnie metodę PaintCanvas lub wybierz tę metodę i naciśnij klawisz F12.Możesz dowiedzieć się, że ta metoda tworzy history i paintObjects jako puste listy.
Teraz powtórz te same kroki, aby zbadać clear definicję metody.Możesz dowiedzieć się, że clear wykonuje pewne zadania z paintObjects i history.Następnie wywołuje Repaint metodę.
Teraz zbadaj addPaintObject definicję metody.Wykonuje także niektóre zadania z history i paintObjects.Wzywa także Repaint.
Znajdowanie problemu poprzez analizowanie mapy
Wydaje się, że wszystkie metody, które modyfikują history i paintObjects wywołania Repaint.Metoda undo nie została jeszcze wywołana Repaint, nawet jeśli undo modyfikuje te same pola.Myślisz więc, że możesz rozwiązać ten problem, wywołując funkcję Repaint z metody undo.
Nie mając mapy, z której wynika, że brak tego wywołania, znalezienie problemu mogłoby być trudniejszy, zwłaszcza przy bardziej skomplikowanym kodzie.
Przekazanie ustaleń innym osobom i następne kroki
Zanim Ty lub ktokolwiek inny rozwiąże ten problem, można robić na mapie notatki dotyczące problemu i sposobach jego rozwiązania.
Na przykład możesz dodać komentarze do mapy i flagować elementy przy użyciu kolorów.
Jeśli masz zainstalowany program Microsoft Outlook, możesz wysłać mapę do innych osób pocztą e-mail.Mapę możesz również wyeksportować jako obraz lub w innym formacie.
Rozwiązanie problemu i pokazanie innym, co zostało zrobione
Aby rozwiązać ten problem, należy dodać wywołanie dla Repaint do undo.
Aby potwierdzić rozwiązanie problemu, ponownie uruchom sesję debugowania i spróbuj odtworzyć błąd.Teraz wybieranie Cofnij Moje ostatnie pociągnięcie działa zgodnie z oczekiwaniami i potwierdza wykonane prawidłowej poprawki.
Możesz zaktualizować mapę, aby pokazać wprowadzoną poprawkę.
Mapa obecnie pokazuje łącze między Cofnij i Maluj ponownie.
[!UWAGA]
Po zaktualizowaniu mapy, może pojawić się komunikat o zaktualizowaniu indeksu kodu użytego do utworzenia mapy.Oznacza to, że ktoś zmienił kod, co powoduje, że mapa nie pasuje do bieżącego kodu.Nie zatrzymuje to aktualizowania mapy, ale może być konieczne ponowne utworzenie mapy w celu potwierdzenia, że pasuje do kodu.
Dochodzenie zostało zakończone.Problem został znaleziony i rozwiązany pomyślnie dzięki mapowaniu kodu.Istnieje również mapa pomagająca w nawigowaniu po kodzie, zapamiętaniu nowych informacji, a także pokazująca kroki, które zostały podjęte w celu rozwiązania problemu.
Zobacz też
Koncepcje
Metody mapowania dla stosu wywołań podczas debugowania w programie Visual Studio.