Dołączanie do uruchomionego procesu za pomocą debugera programu Visual Studio

Dołącz do uruchomionego procesu; Dołącz do procesu na komputerze zdalnym; Rozwiązywanie problemów z dołączyć błędy.

Spis treści

Dlaczego debugować procesy załączone?

Dołącz do uruchomionego procesu

Dołącz do procesu na komputerze zdalnym

Rozwiązywanie problemów z dołączyć błędy

Dlaczego debugować procesy załączone?

Visual Studio Debuger może dołączyć do procesu, który jest uruchomiony poza programem Visual Studio.Za pomocą tego dołączyć możliwości wykonać następujące czynności:

  • Debugowanie aplikacji, która nie została utworzona w Visual Studio.

  • Debugowanie jednocześnie wiele procesów.Można również debugowania wielu procesów, uruchamiając wiele projektów w obrębie jednego rozwiązania.

  • Debugowania procesów uruchomionych na komputerze zdalnym.

  • Debugowanie DLL, które jest uruchamiane w osobnym procesie, którego nie można łatwo można uruchomić z programu Visual Studio, na przykład, usługi lub ISAPI DLL uruchomiony z internetowych usług informacyjnych.

  • Automatyczne uruchamianie debuger po awarii procesu podczas pracy poza programem Visual Studio.Jest to tylko w czasie debugowania.

Po dołączeniu do programu, użyj poleceń wykonania debugera, sprawdzić stan programu i tak dalej.Aby uzyskać więcej informacji, zobacz Debugowanie jednego lub więcej procesów za pomocą programu Visual Studio, Rozpoczynanie, przerywanie, wykonywanie krokowe, przechodzenie przez kod i zatrzymywanie debugowania w programie Visual Studio i Wyświetlanie danych w debugerze.Możliwość sprawdzić program może być ograniczona, w zależności od tego, czy program został skompilowany z informacje debugowania i czy masz dostęp do kodu źródłowego programu i określa, czy kompilator JIT środowiska wykonawczego języka wspólnego śledzi informacje debugowania.

Uwaga dotycząca języka C++Uwaga dotycząca języka C++

Dla debugera do dołączenia do kod napisany w języku C++, kod musi emitować DebuggableAttribute.Możesz dodać to do kodu automatycznie przez połączenie z /ASSEMBLYDEBUG łączenie opcji.

Informacje dotyczące przestrogiPrzestroga

Aby dołączyć do aplikacji ze Sklepu Windows napisany w języku JavaScript, należy najpierw włączyć debugowanie aplikacji.Zobacz Dołącz debugera w Centrum deweloperów systemu Windows.

Powrót do początkuSpis treści

Dołącz do uruchomionego procesu

  1. Na debugowanie menu, wybierz opcję dołączyć do procesu.

  2. W dołączyć do procesu okna dialogowego pole, Znajdź program, który ma zostać dołączony do z dostępne procesy listy.

    1. Jeśli program, który chcesz debugować jest uruchomiona na innym komputerze, użyj kwalifikator pola listy, aby wybrać lub określenia komputera zdalnego.Aby uzyskać więcej informacji, zobacz Zdalne debugowanie i diagnostyka.

    2. Jeśli proces jest uruchomiony w ramach innego konta użytkownika, wybierz Pokaż procesy wszystkich użytkowników pole wyboru.

    3. Jeśli komputer jest połączony za pośrednictwem połączenia pulpitu zdalnego, wybierz opcję Pokaż procesy we wszystkich sesjach pole wyboru.

  3. W dołączyć do pole, należy upewnić się, wymieniony typ będzie debugowanie kodu.Wartość domyślna automatyczne ustawienie podejmie próbę określenia kodu typ do debugowania.Jeśli ustawienia automatyczne jest niewłaściwe:

    1. Kliknij przycisk wybierz.

    2. W wybierz typ kodu okno dialogowe, kliknij przycisk debugowanie te typy kodu i wybierane do debugowania.

    3. Kliknij przycisk OK.

  4. Kliknij przycisk dołączyć.

    Dostępne procesy zostanie wyświetlona lista automatycznie podczas otwierania procesy okno dialogowe.Procesy można uruchamianie i zatrzymywanie w tle, gdy jest otwarte okno dialogowe.Jednak zawartość nie są zawsze aktualne.Można odświeżyć listę w dowolnym momencie, aby wyświetlić listę bieżącego procesów klikając Odśwież.

    Możesz można dołączyć do kilku programów podczas debugowania, ale tylko jeden program jest aktywny debugera w dowolnym momencie.Active program można ustawić w debugowanie lokalizacji narzędzi lub procesy okna.Aby uzyskać więcej informacji, zobacz jak: Ustaw bieżący Program.

    [!UWAGA]

    Dla debugera do dołączenia do zarządzany kod napisany w języku C + +/ CLI, kod musi wysyłać DebuggableAttribute.Możesz dodać to do kodu automatycznie przez połączenie z /ASSEMBLYDEBUG łączenie opcji.

    Jeśli użytkownik próbuje dołączyć do procesu należący do konta użytkownika w niezaufanej, pojawi się zabezpieczenia ostrzeżenie okno dialogowe potwierdzenia.Aby uzyskać więcej informacji, zobacz Ostrzeżenie o zabezpieczeniach: Dołączanie do procesu niezaufanego użytkownika może być niebezpieczne. Jeżeli następujące informacje wydają się podejrzane lub niepewne, nie należy podłączać się do procesu..

    W niektórych przypadkach podczas debugowania w sesji pulpitu zdalnego (Terminal Services) dostępne procesy listy nie są wyświetlane wszystkie dostępne procesy.Na Windows Server 2003 lub nowszy, jeśli używasz Visual Studio jako użytkownik ma konto użytkownika z ograniczonymi uprawnieniami, dostępne procesy listy nie wyświetla procesów uruchomionych w sesji 0, który służy do usługi i inne procesy serwera, w tym w3wp.exe.Można rozwiązać problem, należy uruchomić Visual Studio do konta administratora lub uruchamiając Visual Studio z konsoli serwera zamiast sesji usług terminalowych.If neither of those workarounds is possible, a third option is to attach to the process by running vsjitdebugger.exe -p ProcessId from the Windows command line.Identyfikator procesu przy użyciu tlist.exe, można określić.Uzyskanie tlist.exe, należy pobrać i zainstalować narzędzi debugowania dla systemu Windows, dostępny pod adresem https://go.microsoft.com/fwlink/?LinkId=168279.

Powrót do początkuSpis treści

Dołącz do procesu na komputerze zdalnym

Przy użyciu dołączyć do procesu okno dialogowe, można wybrać inny komputer, który został skonfigurowany na potrzeby zdalnego debugowania.Aby uzyskać więcej informacji, zobacz Ustawianie narzędzi zdalnych na urządzeniu.Po wybraniu na komputerze zdalnym, można wyświetlić listę dostępnych procesów uruchomionych na komputerze i dołączyć do co najmniej jednego z procesów wykonywanych na potrzeby debugowania.

Aby wybrać komputera zdalnego:

  1. W dołączyć do procesu okno dialogowe, wybierz opcję wpisz odpowiednie połączenie z transportu listy.Domyślna jest prawidłowe ustawienie w większości przypadków.

  2. Użyj kwalifikator pola listy, aby wybrać nazwy komputera zdalnego, wykonując jedną z następujących czynności:

    1. Wpisz nazwę w kwalifikator pola listy.

    2. Kliknij strzałkę listy rozwijanej dołączony do kwalifikator pole listy i wybierz nazwę komputera z listy rozwijanej.

    3. Kliknij przycisk znaleźć przycisk Dalej, abykwalifikator listy, aby otworzyć wybierz połączenia debugera zdalnego okno dialogowe.Wybierz połączenia debugera zdalnego okno dialogowe zawiera wszystkie urządzenia, które znajdują się w sieci lokalnej net podrzędnych i dowolnego urządzenia, które jest podłączone bezpośrednio do tego komputera za pomocą kabla Ethernet.Kliknij przycisk komputera lub urządzenia, a następnie kliknij przycisk wybierz.

    Transportu ustawienie będzie nadal występować między sesjami debugowania.Kwalifikator ustawienie będzie nadal występować między sesjami debugowania tylko w przypadku debugowania połączenia z tym kwalifikator.

Powrót do spisu treści

Powrót do początkuSpis treści

Rozwiązywanie problemów z dołączyć błędy

Gdy Visual Studio debuger dołączenie do uruchomionego procesu, ten proces może zawierać co najmniej jeden typ kodu.Typy kodu debuger można dołączyć do wyświetlania i wybranych w wybierz typ kodu okno dialogowe.

[!UWAGA]

Dla debugera do dołączenia do zarządzany kod napisany w języku C++, kod musi wysyłać DebuggableAttribute.Możesz dodać to do kodu automatycznie przez połączenie z /ASSEMBLYDEBUG łączenie opcji.

Informacje dotyczące przestrogiPrzestroga

Aby dołączyć do aplikacji ze Sklepu Windows napisany w języku JavaScript, należy najpierw włączyć debugowanie aplikacji.Zobacz Dołącz debugera w Centrum deweloperów systemu Windows.

Czasami debuger pomyślnie można dołączyć do typu jeden kod, ale nie na inny typ kodu.To może wystąpić, jeśli chcesz dołączyć do procesu, który jest uruchomiona na komputerze zdalnym.Komputer zdalny może zainstalować zdalnego debugowania components dla niektórych typów kodu, ale nie dla innych osób.Można ją również wtedy, gdy użytkownik próbuje dołączyć do co najmniej dwa procesy na potrzeby debugowania bezpośrednie bazy danych.Debugowanie SQL obsługuje dołączania do tylko jeden proces.

Jeśli debuger może dołączyć do niektórych, ale nie wszystkie typy kodu, zostanie wyświetlony komunikat identyfikujący typów, które nie udało się dołączyć.

Jeśli debuger pomyślnie dołączenie do typu co najmniej jeden kod, możesz przejść do debugowania proces.Można tylko typy kodu, które zostały dołączone do debugowania.Komunikat poprzednim przykładzie pokazuje, że typ kod skryptu nie udało się dołączyć.W związku z tym nie będą mogli debugowanie kodu skryptu w ramach procesu.Kod skryptu w procesie będzie nadal uruchomiona, ale nie będzie można jej Ustawianie punktów przerwania, wyświetlać dane lub wykonywać inne operacje debugowania w skrypcie.

Jeśli chcesz bardziej szczegółowych informacji dotyczących powodu niepowodzenia debugera do dołączenia do typu kodu, możesz spróbować ponownie dołączyć do tego typu kodu.

Aby uzyskać szczegółowe informacje na temat Dlaczego nie udało się dołączyć typ kodu

  1. Odłączanie od procesu.Na debugowanie menu, kliknij przycisk Odłączanie wszystkich.

  2. Ponownie dołączyć do procesu wybranie tylko jeden kod typu.

    1. W dołączyć do procesu okna dialogowego Wybierz proces w dostępne procesy listy.

    2. Kliknij przycisk wybierz.

    3. W wybierz typ kodu okno dialogowe, wybierz opcję debugowanie te typy kodu i nie można dołączyć typ kodu.Wyczyść wszystkie inne kodu.

    4. Kliknij przycisk OK.Wybierz typ kodu zamyka okno dialogowe.

    5. W dołączyć do procesu okno dialogowe, kliknij przycisk Attach.

    Tym razem attach nie powiedzie się całkowicie, a uzyskasz określony komunikat o błędzie.

Powrót do spisu treści

Zobacz też

Koncepcje

Debugowanie jednego lub więcej procesów za pomocą programu Visual Studio

Debugowanie just in time w programie Visual Studio

Inne zasoby

Zdalne debugowanie i diagnostyka