Visual Studio 2015 F5 verbindet sich nicht mit den Prozessen

661
Robson

Das mache ich:

  1. Legen Sie das C ++ - Projekt als Startprojekt fest
  2. Bauen
  3. Legen Sie viele Haltepunkte fest
  4. drücken Sie F5

Das richtige Projekt wird gestartet, die Haltepunkte werden als gültig angezeigt und geladen (gefüllter roter Kreis), Visual Studio sagt "Running" in der Titelleiste, die Debug-Symbolleiste ist aktiviert, aber das Programm stoppt nicht an den Haltepunkten.

Wenn ich die Funktion "Attach to Process" verwende und "Verwalteten Code (v4.6, v4.5, v4.0), nativer Code" auswähle, wird das Programm an den Haltepunkten angehalten und ich kann das Debuggen ordnungsgemäß durchführen.

Hat any1 irgendwelche Tipps zur Fehlerbehebung oder zur Lösung dieses Problems?

Als Randbemerkung (ich weiß nicht, ob die Probleme miteinander zusammenhängen), funktioniert auch die Taste F11 (Einsteigen) nicht. Ich habe versucht, die Visual Studio-Einstellungen zurückzusetzen, konnte das Problem jedoch nicht beheben.

[BEARBEITET] Wenn ich Code debuggen muss, bevor die Benutzerinteraktion vorbereitet ist, muss ich etwas einrichten, um das Programm zu blockieren, bis ich an den Prozess angeheftet werden kann.

0
@duDE: Wenn ich im Visual Studio die Taste F5 drücke, wird Visual Studio nicht mit der Anwendung verbunden Robson vor 6 Jahren 0
Aber F5 soll es nicht tun, es heißt "Run"! Die Abkürzung für einen Prozess ist "Strg + Alt + P" oder irre ich mich? duDE vor 6 Jahren 0
@duDE der Standardwert für F5 ist Start Debugging, STRG + F5 dagegen Start ohne Debuggen. Robson vor 6 Jahren 0
Sie müssen also zuerst mit "Strg + Alt + P" eine Verbindung zum Prozess herstellen und dann mit "F5" das Debugging starten. Und was ist das Problem damit? duDE vor 6 Jahren 0
@duDE Wenn ich Code debuggen muss, bevor die Benutzerinteraktion fertig ist, muss ich etwas einrichten, um das Programm zu blockieren, bis ich den Prozess anhängen kann Robson vor 6 Jahren 0

2 Antworten auf die Frage

2
duDE

Nun hoffe ich zu verstehen, was Sie brauchen.

Schauen Sie sich die Methode Debugger.Launch Method () an:

Startet einen Debugger und hängt ihn an den Prozess an.

Und Sie benötigen die Methode Debugger.Break Method ():

Signalisiert einen Haltepunkt an einen angeschlossenen Debugger.

So können Sie es direkt nach dem Einstiegspunkt wie folgt in Ihrem Quellcode verwenden:

#if DEBUG Debugger.Launch(); Debugger.Break();  MainForm.Show(); #else // nothing to do #endif 

Ihr Programm wird an diesem Punkt angehalten und Sie können debuggen!

Danke dir! aber das ist nicht was ich suche, ich möchte eigentlich die F5-Funktion korrigieren. Robson vor 6 Jahren 0
0
Robson

behebt es schließlich mit den folgenden Schritten (ich weiß nicht, ob dies der beste Weg ist, aber es hat für mich funktioniert)

Wechseln Sie zu Visual Studio Debug-Optionen (eine der folgenden zwei Möglichkeiten öffnet dieselbe Seite im Dialogfeld "Optionen").

  • Debuggen> Optionen
  • Extras> Optionen> Debugging> Allgemein

Dann auf dieser Seite unbedingt deaktivieren:

  • Aktivieren Sie nur meinen Code

Dann müssen Sie unbedingt aktivieren

  • Verwalteter Kompatibilitätsmodus verwenden
  • Verwenden Sie den systemeigenen Kompatibilitätsmodus

Gehen Sie nun zum Dialogfeld "An Prozess anhängen":

  1. Debuggen> An Prozess anhängen> Anhängen an> Auswählen
  2. Wählen Sie nun "Verwalteter Code (v4.6, v4.5, v4.0)", "Eigener Code" und "Verwalteter Kompatibilitätscode" aus.

Dann für jedes Projekt, das Sie debuggen möchten:

  1. Klicken Sie mit der rechten Maustaste> Eigenschaften> Debugging> Debugger-Typ
  2. Wert einstellen auf: "Gemischt"

Drücken Sie nun F5 und alle verwalteten und nicht verwalteten Haltepunkte sollten aktiv sein !!!