Visual Studio 2015 F5 nie dołącza się do procesu

0

Oto co robię:

  1. Ustaw projekt C ++ jako projekt startowy
  2. Budować
  3. Ustaw wiele punktów przerwania
  4. naciśnij F5

rozpoczęto prawidłowy projekt, punkty przerwania są wyświetlane jako prawidłowe i załadowane (wypełnione czerwone kółko), studio wizualne mówi „Uruchomienie” na pasku tytułowym, pasek narzędzi debugowania jest aktywny, ale program nie zatrzymuje się na punktach przerwania.

Jeśli użyję funkcji dołączania do procesu i wybiorę „Kod zarządzany (v4.6, v4.5, v4.0), kod macierzysty”, program zatrzymuje się w punktach przerwania i mogę poprawnie debugować.

czy ktoś ma jakieś wskazówki, jak to rozwiązać lub rozwiązać?

na marginesie (nie wiem, czy problemy są ze sobą powiązane), mój klawisz F11 (krok w) również nie działa, próbowałem zresetować ustawienia Visual Studio, ale to nie rozwiązało problemu.

[EDYTOWANE] Jeśli muszę debugować kod, zanim przygotuję interakcję użytkownika, muszę skonfigurować coś, co zablokuje program, dopóki nie będę mógł dołączyć do procesu.

Robson
źródło
@duDE, że po naciśnięciu przycisku F5 w studiu wizualnym nie dołącza studio do aplikacji
Robson
Ale F5 tego nie zrobi, to znaczy „Uruchom”! Skrót do dołączenia do procesu to „Ctrl + Alt + P”, czy się mylę?
duDE
@duDE domyślną wartością dla F5 jest Rozpocznij debugowanie, z drugiej strony CTRL + F5 wykona Rozpocznij bez debugowania.
Robson,
Musisz najpierw dołączyć do procesu za pomocą „Ctrl + Alt + P”, a następnie rozpocząć debugowanie, klikając „F5”. Na czym polega problem?
duDE
@duDE, jeśli muszę debugować kod, zanim przygotuję interakcję użytkownika, muszę skonfigurować coś, co zablokuje program, dopóki nie będę mógł dołączyć do procesu
Robson,

Odpowiedzi:

1

Teraz mam nadzieję zrozumieć, czego potrzebujesz.

Spójrz na metodę Debugger.Launch Method ():

Uruchamia i dołącza debuger do procesu.

Będziesz potrzebował metody Debugger.Break Method ():

Sygnalizuje punkt przerwania dla dołączonego debuggera.

Możesz więc użyć go w kodzie źródłowym bezpośrednio za punktem wejścia w następujący sposób:

#if DEBUG
                Debugger.Launch();
                Debugger.Break();

                MainForm.Show();
#else
              // nothing to do
#endif

Twój program zatrzyma się w tym momencie i możesz debugować!

koleś
źródło
Dziękuję Ci! ale nie tego szukam, chcę naprawić funkcję F5.
Robson,
0

w końcu naprawiłem to, wykonując następujące czynności (nie wiem, czy to najlepszy sposób, ale zadziałało to dla mnie)

Przejdź do Opcje debugowania programu Visual Studio (jeden z dwóch poniższych sposobów spowoduje otwarcie tej samej strony w oknie dialogowym opcji)

  • Debuguj> Opcje
  • Narzędzia> Opcje> Debugowanie> ogólne

Następnie na tej stronie należy wyłączyć:

  • Włącz Just My Code

Następnie pamiętaj, aby włączyć

  • Użyj trybu zarządzanej zgodności
  • Użyj natywnego trybu zgodności

Teraz przejdź do okna dialogowego Dołącz do procesu:

  1. Debuguj> Dołącz do procesu> Dołącz do> Wybierz
  2. Teraz wybierz „Kod zarządzany (v4.6, v4.5, v4.0)”, „Kod macierzysty” i „Zarządzany kod zgodności”

Następnie dla każdego projektu, który chcesz debugować:

  1. Kliknij prawym przyciskiem myszy> Właściwości> Debugowanie> Typ debugera
  2. Ustaw wartość na: „Mieszane”

Teraz naciśnij F5 i wszystkie zarządzane i niezarządzane punkty przerwania powinny być aktywne !!!

Robson
źródło