Wyświetlanie stosu wywołań i korzystanie z okna stosu wywołań w debugerze

Za pomocą okna Stos wywołań można wyświetlić wywołania funkcji lub procedury, które są obecnie w stosie. Okno Stos wywołań pokazuje kolejność wywoływania metod i funkcji. Stos wywołań to dobry sposób na zbadanie i zrozumienie przepływu wykonywania aplikacji.

Gdy symbole debugowania nie są dostępne dla części stosu wywołań, okno stosu wywołań może nie być w stanie wyświetlić prawidłowych informacji dla tej części stosu wywołań, wyświetlając zamiast tego:

[Frames below may be incorrect and/or missing, no symbols loaded for name.dll]

Uwaga

Okno stosu wywołań jest podobne do perspektywy debugowania w niektórych środowiskach PROJEKTOWYCH, takich jak Eclipse.

Uwaga

Wyświetlane okna dialogowe i polecenia menu mogą różnić się od opisanych tutaj, w zależności od aktywnych ustawień lub wersji. Aby zmienić ustawienia, wybierz pozycję Importuj i Ustawienia w menu Narzędzia. Zobacz Resetowanie ustawień.

Wyświetlanie stosu wywołań w debugerze

  • Podczas debugowania w menu Debugowanie wybierz pozycję Windows > stos wywołań.

    Okno stosu wywołań

Żółta strzałka identyfikuje ramkę stosu, w której znajduje się obecnie wskaźnik wykonywania. Domyślnie informacje o ramce stosu są wyświetlane w oknach źródła, locals, autos, watch i dezemberaty. Aby zmienić kontekst debugera na inną ramkę na stosie, przełącz się na inną ramkę stosu.

Wyświetlanie kodu bez użytkownika w oknie stosu wywołań

  • Kliknij prawym przyciskiem myszy okno Stos wywołań i wybierz polecenie Pokaż kod zewnętrzny.

Kod niebędący użytkownikiem to dowolny kod, który nie jest wyświetlany Tylko mój kod jest włączony. W kodzie zarządzanym ramki kodu inne niż użytkownika są domyślnie ukryte. W miejsce ramek kodu innych niż ramki kodu użytkownika jest wyświetlana następująca notacja:

[<External Code>]

Przełącz się na inną ramkę stosu (zmień kontekst debugera)

  1. W oknie Stos wywołań kliknij prawym przyciskiem myszy ramkę stosu, której kod i dane chcesz wyświetlić.

    Możesz też kliknąć dwukrotnie ramkę w oknie stosu wywołań, aby przełączyć się na ramkę.

  2. Wybierz pozycję Przełącz na ramkę.

    Obok wybranej ramki stosu zostanie wyświetlona zielona strzałka ze zwiniętym ogonem. Wskaźnik wykonania pozostaje w oryginalnej ramce, która nadal jest oznaczona żółtą strzałką. Jeśli wybierzesz pozycję Krok lub Kontynuuj z menu Debugowanie, wykonywanie będzie kontynuowane w oryginalnej ramce, a nie w wybranej ramce.

Wyświetlanie kodu źródłowego funkcji na stosie wywołań

  • W oknie Stos wywołań kliknij prawym przyciskiem myszy funkcję, której kod źródłowy chcesz wyświetlić, a następnie wybierz pozycję Przejdź do kodu źródłowego.

Uruchamianie do określonej funkcji z okna stosu wywołań

  • W oknie Stos wywołań wybierz funkcję, kliknij prawym przyciskiem myszy, a następnie wybierz polecenie Uruchom do kursora.

Ustawianie punktu przerwania w punkcie wyjścia wywołania funkcji

Wyświetlanie wywołań do lub z innego wątku

  • Kliknij prawym przyciskiem myszy okno Stos wywołań i wybierz pozycję Uwzględnij wywołania do/z innych wątków.

Wizualne śledzenie stosu wywołań

W Visual Studio Enterprise (tylko) można wyświetlać mapy kodu dla stosu wywołań podczas debugowania.

Pokazywanie stosu wywołań na mapie kodu

Wyświetlanie kodu desembedżu dla funkcji na stosie wywołań (C#, C++, Visual Basic, F#)

  • W oknie Stos wywołań kliknij prawym przyciskiem myszy funkcję, której kod dezmiseracyjny chcesz wyświetlić, i wybierz polecenie Przejdź do dezembrację.

Zmienianie wyświetlanych opcjonalnych informacji

  • Kliknij prawym przyciskiem myszy w oknie Stos wywołań i ustaw lub wyczyść pole <the information that you want> pokaż.

Ładowanie symboli dla modułu (C#, C++, Visual Basic, F#)

W oknie Stos wywołań można załadować symbole debugowania dla kodu, który obecnie nie ma załadowanych symboli. Te symbole mogą być symbolami platformy .NET lub systemami pobranymi z publicznych serwerów symboli firmy Microsoft lub symbolami w ścieżce symboli na komputerze, który jest debugowania.

Zobacz Temat Specify symbol (.pdb) and source files (Określanie plików symboli (.pdb) i plików źródłowych).

Aby załadować symbole

  1. W oknie Stos wywołań kliknij prawym przyciskiem myszy ramkę stosu, dla której symbole nie są ładowane. Ramka będzie wygaszona.

  2. Wskaż polecenie Załaduj symbole, a następnie wybierz pozycję Serwery symboli firmy Microsoft (jeśli są dostępne) lub przejdź do ścieżki symboli.

Aby ustawić ścieżkę symboli

  1. W oknie Stos wywołań wybierz pozycję Symbol Ustawienia z menu skrótów.

    Zostanie otwarte okno dialogowe Opcje i zostanie wyświetlona strona Symbole.

  2. Wybierz pozycję Symbol Ustawienia.

  3. W oknie dialogowym Opcje kliknij ikonę Folder.

    W polu Lokalizacje pliku symboli (.pdb) pojawi się kursor.

  4. Wprowadź nazwę ścieżki katalogu do lokalizacji symbolu na komputerze, który jest debugowania. W przypadku debugowania lokalnego i zdalnego jest to ścieżka na komputerze lokalnym.

  5. Wybierz przycisk OK, aby zamknąć okno dialogowe Opcje.

Zobacz też