Zdalne debugowanie projektu w języku C# lub Visual Basic w programie Visual Studio

Aby debugować aplikację programu Visual Studio, która została wdrożona na innym komputerze, zainstaluj i uruchom narzędzia zdalne na komputerze, na którym wdrożono aplikację, skonfiguruj projekt w celu nawiązania połączenia z komputerem zdalnym z programu Visual Studio, a następnie uruchom aplikację.

Screenshot of remote debugger components.

Aby uzyskać informacje na temat zdalnego debugowania aplikacji uniwersalnych systemu Windows (UWP), zobacz Debugowanie zainstalowanego pakietu aplikacji.

Wymagania

Zdalny debuger jest obsługiwany w systemie Windows 7 i nowszych wersjach systemu Windows Server, począwszy od systemu Windows Server 2008 z dodatkiem Service Pack 2. Aby uzyskać pełną listę wymagań, zobacz Wymagania.

Uwaga

Debugowanie między dwoma komputerami połączonymi za pośrednictwem serwera proxy nie jest obsługiwane. Debugowanie przez duże opóźnienie lub połączenie o niskiej przepustowości, takie jak połączenie z Internetem lub za pośrednictwem Internetu w różnych krajach/regionach, nie jest zalecane i może zakończyć się niepowodzeniem lub niedopuszczalnie wolnym działaniem.

Pobieranie i instalowanie narzędzi zdalnych

Na urządzeniu zdalnym lub serwerze, na którym chcesz debugować, a nie na maszynie programu Visual Studio, pobierz i zainstaluj poprawną wersję narzędzi zdalnych z linków w poniższej tabeli.

  • Pobierz najnowszą aktualizację narzędzi zdalnych dla używanej wersji programu Visual Studio. Starsze wersje narzędzi zdalnych nie są zgodne z nowszymi wersjami programu Visual Studio. (Jeśli na przykład używasz programu Visual Studio 2019, pobierz najnowszą aktualizację narzędzi zdalnych dla programu Visual Studio 2019. W tym scenariuszu nie pobieraj narzędzi zdalnych dla programu Visual Studio 2022).
  • Pobierz narzędzia zdalne z tą samą architekturą co maszyna, na której je instalujesz. Jeśli na przykład chcesz debugować aplikacje x86 na komputerze zdalnym z systemem operacyjnym x64, zainstaluj narzędzia zdalne x64. Aby debugować aplikacje x86, ARM lub x64 w systemie operacyjnym ARM64, zainstaluj narzędzia zdalne ARM64.
Wersja Link Uwagi
Visual Studio 2022 Narzędzia zdalne Zgodność ze wszystkimi wersjami programu Visual Studio 2022. Pobierz wersję zgodną z systemem operacyjnym urządzenia (x86, x64 lub ARM64). W starszych wersjach systemu Windows Server zobacz Odblokowywanie pobierania pliku, aby uzyskać pomoc dotyczącą pobierania narzędzi zdalnych.
Visual Studio 2019 Narzędzia zdalne Zgodność ze wszystkimi wersjami programu Visual Studio 2019. Pobierz wersję zgodną z systemem operacyjnym urządzenia (x86, x64 lub ARM64). W starszych wersjach systemu Windows Server zobacz Odblokowywanie pobierania pliku, aby uzyskać pomoc dotyczącą pobierania narzędzi zdalnych.
Visual Studio 2017 Narzędzia zdalne Zgodność ze wszystkimi wersjami programu Visual Studio 2017. Pobierz wersję zgodną z systemem operacyjnym urządzenia (x86, x64 lub ARM64). W systemie Windows Server zobacz Odblokowywanie pobierania plików, aby uzyskać pomoc dotyczącą pobierania narzędzi zdalnych.
Visual Studio 2015 Narzędzia zdalne Narzędzia zdalne dla programu Visual Studio 2015 są dostępne w My.VisualStudio.com. Jeśli zostanie wyświetlony monit, dołącz do bezpłatnego programu Visual Studio Dev Essentials lub zaloguj się przy użyciu identyfikatora subskrypcji programu Visual Studio. W systemie Windows Server zobacz Odblokowywanie pobierania plików, aby uzyskać pomoc dotyczącą pobierania narzędzi zdalnych.
Visual Studio 2013 Narzędzia zdalne Strona pobierania w dokumentacji programu Visual Studio 2013
Visual Studio 2012 Narzędzia zdalne Strona pobierania w dokumentacji programu Visual Studio 2012
Wersja Link Uwagi
Visual Studio 2019 Narzędzia zdalne Zgodność ze wszystkimi wersjami programu Visual Studio 2019. Pobierz wersję zgodną z systemem operacyjnym urządzenia (x86, x64 lub ARM64). W systemie Windows Server zobacz Odblokowywanie pobierania plików, aby uzyskać pomoc dotyczącą pobierania narzędzi zdalnych. W najnowszej wersji narzędzi zdalnych otwórz dokument programu Visual Studio 2022.
Visual Studio 2017 Narzędzia zdalne Zgodność ze wszystkimi wersjami programu Visual Studio 2017. Pobierz wersję zgodną z systemem operacyjnym urządzenia (x86, x64 lub ARM64). W systemie Windows Server zobacz Odblokowywanie pobierania plików, aby uzyskać pomoc dotyczącą pobierania narzędzi zdalnych.
Visual Studio 2015 Narzędzia zdalne Narzędzia zdalne dla programu Visual Studio 2015 są dostępne w My.VisualStudio.com. Jeśli zostanie wyświetlony monit, dołącz do bezpłatnego programu Visual Studio Dev Essentials lub zaloguj się przy użyciu identyfikatora subskrypcji programu Visual Studio. W systemie Windows Server zobacz Odblokowywanie pobierania plików, aby uzyskać pomoc dotyczącą pobierania narzędzi zdalnych.
Visual Studio 2013 Narzędzia zdalne Strona pobierania w dokumentacji programu Visual Studio 2013
Visual Studio 2012 Narzędzia zdalne Strona pobierania w dokumentacji programu Visual Studio 2012

Debuger zdalny można uruchomić, kopiując msvsmon.exe na komputer zdalny, zamiast instalować narzędzia zdalne. Jednak Kreator konfiguracji debugera zdalnego (rdbgwiz.exe) jest dostępny tylko podczas instalowania narzędzi zdalnych. Może być konieczne użycie kreatora do konfiguracji, jeśli chcesz uruchomić zdalny debuger jako usługę. Aby uzyskać więcej informacji, zobacz (Opcjonalnie) Konfigurowanie zdalnego debugera jako usługi.

Uwaga

  • Aby debugować aplikacje systemu Windows 10 lub nowsze na urządzeniach ARM, użyj usługi ARM64, która jest dostępna z najnowszą wersją narzędzi zdalnych.
  • Aby debugować aplikacje systemu Windows 10 na urządzeniach z systemem Windows RT, użyj usługi ARM, która jest dostępna tylko w pobraniu narzędzi zdalnych programu Visual Studio 2015.
  • Aby debugować aplikacje x64 w systemie operacyjnym ARM64, uruchom msvsmon.exe x64 zainstalowane za pomocą narzędzi zdalnych ARM64.

Napiwek

W niektórych scenariuszach najbardziej wydajne może być uruchamianie zdalnego debugera z udziału plików. Aby uzyskać więcej informacji, zobacz Uruchamianie zdalnego debugera z udziału plików.

Konfigurowanie zdalnego debugera

  1. Na komputerze zdalnym znajdź i uruchom debuger zdalny z menu Start .

    Jeśli nie masz uprawnień administracyjnych na komputerze zdalnym, kliknij prawym przyciskiem myszy aplikację Remote Debugger i wybierz polecenie Uruchom jako administrator. W przeciwnym razie po prostu uruchom go normalnie.

    Jeśli planujesz dołączyć do procesu, który jest uruchomiony jako administrator lub działa w ramach innego konta użytkownika (takiego jak usługi IIS), kliknij prawym przyciskiem myszy aplikację Remote Debugger i wybierz polecenie Uruchom jako administrator. Aby uzyskać więcej informacji, zobacz Uruchamianie zdalnego debugera jako administrator.

  2. Przy pierwszym uruchomieniu debugera zdalnego (lub przed jego skonfigurowaniem) zostanie wyświetlony kreator Konfiguracja debugowania zdalnego.

    W większości scenariuszy wybierz pozycję Dalej , dopóki nie zostanie wyświetlona strona Konfigurowanie Zapory systemu Windows kreatora.

    Screenshot of remote debugger configuration.

    Screenshot of remote debugger configuration.

    Jeśli interfejs API usług sieci Web systemu Windows nie jest zainstalowany, co ma miejsce tylko w systemie Windows Server 2008 R2, wybierz przycisk Zainstaluj .

  3. Wybierz co najmniej jeden typ sieci, w którym chcesz używać narzędzi zdalnych. Jeśli komputery są połączone za pośrednictwem domeny, musisz wybrać pierwszy element. Jeśli komputery są połączone za pośrednictwem grupy roboczej lub grupy domowej, wybierz odpowiedni drugi lub trzeci element.

    Następnie wybierz pozycję Zakończ , aby uruchomić debuger zdalny.

    Następnie wybierz pozycję Skonfiguruj zdalne debugowanie , aby uruchomić zdalny debuger.

  4. Po zakończeniu konfiguracji zostanie wyświetlone okno Debuger zdalny.

    Screenshot of remote debugger window

    Screenshot of remote debugger window

    Zdalny debuger czeka teraz na połączenie. Użyj nazwy serwera i podanego numeru portu, aby ustawić konfigurację połączenia zdalnego w programie Visual Studio.

Aby zatrzymać zdalny debuger, wybierz pozycję Plik>Zakończ. Można go ponownie uruchomić z menu Start lub z poziomu wiersza polecenia:

<Remote debugger installation directory>\msvsmon.exe

Uwaga

Jeśli musisz dodać uprawnienia dla dodatkowych użytkowników, zmienić tryb uwierzytelniania lub numer portu debugera zdalnego, zobacz Konfigurowanie zdalnego debugera.

Zdalne debugowanie projektu

Debuger nie może wdrożyć aplikacji klasycznych Visual C# lub Visual Basic na maszynie zdalnej, ale nadal można je debugować zdalnie w następujący sposób. Poniższa procedura zakłada, że chcesz debugować go na komputerze o nazwie MJO-DL, jak pokazano na poniższej ilustracji.

  1. Utwórz projekt WPF o nazwie MyWpf.

    Jeśli próbujesz zdalnie debugować aplikację MAUI zamiast WPF, zobacz Zdalne debugowanie aplikacji .NET MAUI w systemie Windows.

  2. Ustaw punkt przerwania gdzieś w kodzie, który jest łatwo osiągany.

    Można na przykład ustawić punkt przerwania w procedurze obsługi przycisków. Aby to zrobić, otwórz plik MainWindow.xaml i dodaj kontrolkę Przycisk z przybornika, a następnie kliknij dwukrotnie przycisk, aby otworzyć jego procedurę obsługi.

  3. W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz polecenie Właściwości.

  4. Na stronie Właściwości wybierz kartę Debugowanie.

    W przypadku projektów języka C# przeznaczonych dla platformy .NET Core lub .NET 5+, począwszy od programu Visual Studio 2022, wybierz interfejs użytkownika debugowania profilów uruchamiania z karty Debugowanie , aby skonfigurować ustawienia debugowania zdalnego.

    Screenshot of the Debug launch profile UI in the Visual Studio Project Properties for C# and .NET.

    W przeciwnym razie zmienisz ustawienia debugowania zdalnego bezpośrednio na karcie Debugowanie .

    Screenshot of the Debug tab in the Visual Studio Project Properties. The Use remote machine property is set to 'MJO-DL:4022'.

  5. Upewnij się, że pole tekstowe Katalog roboczy jest puste.

  6. Wybierz pozycję Użyj maszyny zdalnej i wpisz ciąg yourmachinename:port w polu tekstowym. (Numer portu jest wyświetlany w oknie debugera zdalnego. Numer portu zwiększa się o 2 w każdej wersji programu Visual Studio.

    W tym przykładzie użyj:

    MJO-DL:4026 w programie Visual Studio 2022

    MJO-DL:4024 w programie Visual Studio 2019

  7. Upewnij się, że nie wybrano opcji Włącz debugowanie kodu natywnego.

  8. Skompiluj projekt.

  9. Utwórz folder na komputerze zdalnym, który jest tą samą ścieżką co folder Debug na komputerze programu Visual Studio: <ścieżka> źródłowa\MyWPF\MyWPF\bin\Debug.

  10. Skopiuj plik wykonywalny utworzony właśnie z komputera programu Visual Studio do nowo utworzonego folderu na komputerze zdalnym.

    Uwaga

    Nie wprowadzaj zmian w kodzie lub ponownej kompilacji (lub musisz powtórzyć ten krok). Plik wykonywalny skopiowany na maszynę zdalną musi dokładnie odpowiadać lokalnemu źródle i symbolom.

    Projekt można skopiować ręcznie, użyć narzędzia XCopy, narzędzia Robocopy, programu PowerShell lub innych opcji.

  11. Upewnij się, że zdalny debuger jest uruchomiony na maszynie docelowej (jeśli tak nie jest, wyszukaj polecenie Remote Debugger w menu Start ). Okno zdalnego debugera wygląda następująco.

    Screenshot of remote debugger window for VS 2022.

    Screenshot of remote debugger window for VS 2019.

  12. W programie Visual Studio rozpocznij debugowanie (Debugowanie > rozpocznij debugowanie lub F5).

  13. Jeśli zostanie wyświetlony monit, wprowadź poświadczenia sieciowe, aby nawiązać połączenie z maszyną zdalną.

    Wymagane poświadczenia różnią się w zależności od konfiguracji zabezpieczeń sieci. Na przykład na komputerze domeny można wprowadzić nazwę domeny i hasło. Na maszynie innej niż domena możesz wprowadzić nazwę komputera i prawidłową nazwę konta użytkownika, taką jak MJO-DL\name@something.com, wraz z poprawnym hasłem.

    Powinno zostać wyświetlone okno główne aplikacji WPF na komputerze zdalnym.

  14. W razie potrzeby wykonaj akcję w celu osiągnięcia punktu przerwania. Powinien zostać wyświetlony komunikat, że punkt przerwania jest aktywny. Jeśli tak nie jest, symbole aplikacji nie zostały załadowane. Spróbuj ponownie i jeśli to nie zadziała, uzyskaj informacje o ładowaniu symboli i sposobach ich rozwiązywania w artykule Opis plików symboli i ustawień symboli programu Visual Studio.

  15. Na maszynie programu Visual Studio powinno zostać wyświetlone, że wykonanie zostało zatrzymane w punkcie przerwania.

    Jeśli masz pliki inne niż kod, które muszą być używane przez aplikację, musisz uwzględnić je w projekcie programu Visual Studio. Utwórz folder projektu dla dodatkowych plików (w Eksplorator rozwiązań kliknij pozycję Dodaj > nowy folder). Następnie dodaj pliki do folderu (w Eksplorator rozwiązań kliknij pozycję Dodaj > istniejący element, a następnie wybierz pliki). Na stronie Właściwości dla każdego pliku ustaw opcję Kopiuj na Katalog wyjściowy, aby zawsze kopiować.

Zdalne debugowanie aplikacji .NET MAUI w systemie Windows

Aplikacje MAUI platformy .NET to spakowane aplikacje, które należy zarejestrować podczas wdrażania, a nie tylko skopiowane na maszynę zdalną. W celu zdalnego debugowania można wdrożyć rozpakową wersję aplikacji.

Użyj jednej z następujących metod do zdalnego debugowania:

  • Opublikuj aplikację na urządzeniu zdalnym jako aplikację rozpakową, wykonując kroki opisane w temacie Używanie interfejsu wiersza polecenia do publikowania rozpakowanych aplikacji .NET MAUI dla systemu Windows, a następnie wykonaj kroki opisane w tym artykule w celu zdalnego debugowania. (Pomiń kroki kopiowania aplikacji).

  • Wykonaj kroki opisane w tym artykule, w tym kroki tworzenia profilu uruchamiania debugowania dla projektu. Przed rozpoczęciem debugowania ręcznie edytuj plik launch Ustawienia.json, zastępując wartość commandNameProject wartością MsixPackage, jak pokazano tutaj.

    "Remote Profile": {
      "commandName": "MsixPackage",
      "remoteDebugEnabled": true,
      "remoteDebugMachine": "170.200.20.22",
      "authenticationMode": "None"
    }
    

    Po rozpoczęciu debugowania ta metoda najpierw wdraża rozpakowana wersję aplikacji i uruchamia ją.

    Uwaga

    Nie można edytować uruchamiania Ustawienia.json w oknie dialogowym Debugowanie profilu uruchamiania po zmianie wartości na MsixPackage.

Konfigurowanie debugowania za pomocą symboli zdalnych

Powinno być możliwe debugowanie kodu za pomocą symboli wygenerowanych na komputerze programu Visual Studio. Wydajność zdalnego debugera jest znacznie lepsza w przypadku używania symboli lokalnych. Jeśli musisz użyć symboli zdalnych, musisz poinformować monitor debugowania zdalnego, aby wyszukać symbole na maszynie zdalnej.

Aby użyć symboli zdalnych dla kodu zarządzanego, możesz użyć następującego przełącznika wiersza polecenia msvsmon: Msvsmon /FallbackLoadRemoteManagedPdbs

Aby uzyskać więcej informacji, zobacz pomoc dotyczącą zdalnego debugowania (naciśnij klawisz F1 w oknie zdalnego debugera lub kliknij pozycję Użycie pomocy>).