wake-up-neo.net

Haltepunkt konnte nicht gebunden werden - Visual Studio 2015

Ich habe gerade ein Upgrade von Visual Studio 2013 auf 2015 durchgeführt und habe jetzt Probleme mit Haltepunkten.

Es ist ein Treffer oder ein Fehlschlag, an dem Bruchpunkte tatsächlich funktionieren. Wenn ich beim Debuggen einen Fehler setze, erhalte ich den Fehler:

Der Haltepunkt konnte nicht gebunden werden.

Jede Hilfe wäre dankbar. Ich bin bereit, 2015 aufzugeben und zurück zu gehen.

132
Sealer_05

Ich hatte das gleiche Problem, aber eine andere Lösung ... Bitte beachten Sie, dass ich auf VS 2015 Update 1 aktualisiert habe und das Problem immer noch besteht.

In früheren Versionen von VS wurde beim Start von Debug automatisch ein Build im Debug-Modus ausgelöst. Aber mit VS2015 nicht.

Wenn sich Ihr letzter Build im Freigabemodus befand und Sie versuchen, zu debuggen, funktioniert der Haltepunkt nicht.

Sie müssen zuerst build im Debug-Modus manuell erstellen und dann mit dem Debugging beginnen.

184
Max Favilli

Ich hatte das gleiche Problem.

Ich habe die Deaktivierung der Option "Code optimieren" in den Registerkarte "Build" des Projekteigenschaften deaktiviert.

75
Edu_LG

Dies mag trivial erscheinen, aber nachdem ich mit den gleichen Problemen, die Sie erwähnt haben, viel gekratzt hat, habe ich herausgefunden, dass mein Build auf "release" anstelle von "debug" gesetzt war, als ich Debugging versuchte "behoben, und ich konnte Haltepunkte wie normal festlegen

35
Kenneth Møller

Ich hatte ein ähnliches Problem mit Haltepunkten, die nicht binden konnten, sowie mit bestimmten lokalen Variablen, die nicht im Locals-Fenster ausgewertet wurden. Was schließlich behoben wurde, war das Aktivieren der Option "JIT-Optimierung beim Laden des Moduls unterdrücken (nur verwaltet)" auf der Registerkarte "Optionen"> "Debuggen"> "Allgemein". Sobald ich eingestellt hatte, dass er ohne Probleme binden konnte.

27
Will

Ich hatte dieses Problem. Ich habe eine Performance-Profiling-Sitzung ausgeführt, in der die Datei Web.config mit den Einstellungen für den Leistungsmonitor geändert wurde. Dies brach meine Fähigkeit, an Haltepunkten anzuhalten. Wenn ich wieder auf die ursprüngliche Web.config zurückgesetzt wurde (die Einstellungen für den Performance-Profiler wurden entfernt), funktionierten die Haltepunkte wieder.

12
Allbite

Ich hatte gestern das gleiche Problem. Ich habe die "Clean Solution" -Funktion verwendet und es hat geholfen.

5
kerneldebugger

Ich führe Leistung für meine Lösung aus und fügte dies meiner web.config hinzu

<compilation debug="true" targetFramework="4.5" assemblyPostProcessorType="Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter, Microsoft.VisualStudio.Enterprise.AspNetHelper, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 

die assemblyPostProcessorType ist das Problem, ich habe es gelöscht und das Problem gelöst

4
xszaboj

die Lösung besteht darin, die Designoptimierung zu deaktivieren.

Project Properties> Build> Advanced Compile Options> Enable Optimizations

4
Julio Chiuchi

Freigabemodus in Debug ändern. In meinem Fall wurde das Problem dadurch behoben.

 enter image description here

4
Irshad Ahmed

Ich habe die Einstellung "Optimieren" nicht geändert, sondern basierend auf anderen Antworten hier 

  1. Setzen Sie den Projektmappen-Explorer auf "Alle Dateien anzeigen" für das Projekt
  2. Die ausgeblendeten Bin- und Debug-Ordner wurden gelöscht
  3. Hat ein "Clean" für das Projekt durchgeführt
  4. Beim Projekt 'Neu erstellen' durchgeführt

Das hat es bisher für mich behoben. Das Update auf VS2015 Update 2 scheint auf meinem System einige Probleme zu haben.

1
louisik1

SCHRITT 1, Schließen Sie das Offensichtliche aus:

  • Kompilieren Sie im Debug-Modus.
  • Versuchen Sie, die Lösung zu reinigen, bevor Sie den Haltepunkt einstellen.
  • Wechseln Sie in den Debug-Ordner und löschen Sie die Datei [Ihre Anwendung] .pdb.
  • Führen Sie dann eine Anwendung aus oder erstellen Sie Ihre Anwendung neu.
  • Wechseln Sie in den Debug-Ordner und bestätigen Sie, dass Sie eine neue [Your Application] .pdb-Datei haben.
  • Versuchen Sie dann, Ihren Haltepunkt festzulegen.

SCHRITT 2 Für C++ - Projekte:

Überprüfen Sie die folgenden Projekteigenschaften:

  • C++/General/Debug-Informationsformat: Programmdatenbank.
  • C++/Optimierung: Deaktiviert.
  • C++/Codegenerierung/Laufzeitbibliothek: Debug mit mehreren Threads.
  • Linker/Debuggen/Debug-Informationen generieren: Ja.
  • Linker/Debugging/Programmdatenbank generieren: $ (TargetDir) $ (TargetName) .pdb.
  • Linker/Manifestdatei/Manifest erzeugen: Nein.
  • Linker/Manifestdatei/Isolation erlauben: Nein.
  • Linker/Embedded IDL/Embedded IDL ignorieren: Ja.
  • Wiederholen Sie Schritt 1

    Sie können versuchen, __debugbreak () hinzuzufügen. Diese Anweisung muss in der Quelldatei enthalten sein, an der Sie brechen möchten.

SCHRITT 2 Für C # -Projekte:

  • In den Projekten sollte der Eigenschaften Build/General/Optimize-Code deaktiviert sein
  • In den IDE Einstellungen Debug/Optionen und Einstellungen/Debugging/Allgemeine Unterdrückung JIT Optimierung beim Laden des Moduls (nur Verwaltet): Aktiviert
  • Wiederholen Sie Schritt 1

Versuchen Sie, Ihre Lösung auf anderen Maschinen zu öffnen. Wenn Sie einen Haltepunkt auf einem anderen Computer binden können, kann dies bedeuten, dass ein Problem mit Ihrem VS oder Ihrem Betriebssystem vorliegt.

SCHRITT 3, Vergewissere dich, dass dein VS auf dem neuesten Stand ist:  

In VS2013 RTM sowie in VS2015 Update 1 und Update2 wurden solche Probleme gemeldet. 

In VS gehen Sie zu Tools/Extensions & Updates/Updates/Product Updates und sehen Sie, welche Version Sie ausführen. Wenn ein Update erforderlich ist, wird es dort angezeigt. 

SCHRITT 4, Vergewissere dich, dass dein Betriebssystem auf dem neuesten Stand ist:  

Wenn Sie ein Windows-10-Betriebssystem ausführen, wurde in Bug 14251 ein Fehler in Bezug auf dieses Problem gemeldet. Dieser Fehler wurde in Build 14257 (und höher) behoben. 

0
Merav Kochavi

Reinigen Sie die gesamte Lösung, bevor Sie eine der anderen Lösungen ausprobieren. Nachdem Sie fast alles andere in früheren Antworten ausprobiert hatten und Visual Studio mehrmals neu gestartet hatten, war der Trick nur die Reinigung der Lösung!

0
chaosifier

Ich bin gerade auf ein ähnliches Problem gestoßen und keine der Antworten hier traf auf das Problem, vor dem ich stand. Anders als in der Frage bekomme ich jedoch nie eine Nachricht, dass ein Fehler beim Binden aufgetreten ist. Der Haltepunkt trifft einfach nie. Hoffentlich ist dies hilfreich für jemanden, der in der Zukunft seinen Kopf mit WCF gegen die Wand schlägt.

TL/DR:
.__ In der Nachricht SOAP gab es einen Datensatz mit fehlerhaften Daten, der dazu führte, dass der Haltepunkt nicht getroffen wurde.

Ganze Geschichte:

Ich habe einen WCF-Dienst, der auf WSDL eines anderen Teams basiert. Nicht meine Definition, keine Kontrolle darüber ... Ich erhalte über diesen Dienst Nachrichten von diesem anderen Team. In meinem Fall erhalte ich Nachrichten, kann die Nachricht in der Nachrichtenprotokolltabelle in der Datenbank protokollieren (was geschieht, bevor meine Servicemethode aufgerufen wird), die Servicemethode wird anscheinend aufgerufen (möglicherweise nicht) und der Server antwortet mit a 202 akzeptiert. Die Kommunikation funktioniert, außer dass während des Methodenaufrufs keine Daten in der Datenbank gespeichert werden.

Da der Dienst eine Erfolgsmeldung zurücksendet, schloss ich Probleme im Zusammenhang mit http und transport aus.

Also habe ich VS2015 gestartet, um den Service zu debuggen. Die fragliche Botschaft ist groß, liegt aber im Rahmen dessen, was ich erwarten würde. Ich habe einen Haltepunkt in die erste Zeile der Servicemethode gesetzt und die große Nachricht durchgeschickt, aber der Haltepunkt wurde nie erreicht. Ich habe eine kleinere Nachricht ausprobiert, von der ich wusste, dass sie an derselben Run-Instanz gearbeitet hatte, und der Haltepunkt war gut getroffen. Also alles in der Konfiguration schien gut. Ich dachte, vielleicht war etwas in der Nachrichtengröße.

Ich habe alles versucht, was ich finden konnte - sicherstellen, dass ich mich in einer Debug-Konfiguration befand, bereinigte und neu erstellte, den Debugger manuell an den w3wp-Prozess anhängte (der bereits VS war), Debugger.Break() anstelle eines Haltepunkts verwendete, mehrere Startup-Projekte festlegte und meinen Test entlud Projekt, so dass das Serviceprojekt das einzige war, .NET aktualisiert, VS2015 neu gestartet, neu gestartet, von Local IIS nach IIS Express und zurück gewechselt und der Service mit der garantierten neuesten WSDL wiederhergestellt wird. Nichts war wichtig. Der Haltepunkt wurde nie getroffen.

Am Ende musste ich die Datensätze in der großen Nachricht nach und nach aussortieren, bis ich einen einzelnen Datensatz mit fehlerhaften Daten gefunden hatte. In meinem Fall war es ein Datensatz, der für 2 DateTime-Felder keinen Wert hatte. Als ich eine Nachricht mit nur einem Datensatz erstellt und gesendet habe, wurde der Haltepunkt nicht erreicht. Wenn ich Werte für diese 2 DateTime-Felder angegeben habe und dieselbe (festgelegte) Nachricht an den Haltepunkt gesendet habe, wie erwartet ausgelöst.

Ich hatte jede einzelne CLR-Ausnahme aktiviert, nichts wurde gefeuert, außer die fehlenden .pbd-Dateien, die mir egal waren. Die WCF hat die Anfrage glücklich mit einer schlechten Aufzeichnung gesendet. Ich sage nicht, dass WCF es nicht auf der Grundlage der Verträge hätte senden sollen, nur dass der schlechte Punkt dazu geführt hat, dass der Haltepunkt nicht getroffen wurde.

0
squillman

Ich hatte das gleiche Problem, wusste aber nicht, dass "Debug" in der Debug-Symbolleiste in "Release" geändert wurde (normalerweise direkt unter dem Menü). Also habe ich es auf "Debug" gesetzt, es hat funktioniert.

0
Jared McCracken

Während dies ein viel späterer Build (VS2017) ist, hatte ich dieses Problem mit C # -Projekten. Versucht, zu reinigen, umzubauen, Visual Studio neu zu starten usw.

Behebung des Problems durch Beenden von Visual Studio und Löschen des .vs-Ordners. Hierbei handelt es sich um einen versteckten Ordner im Lösungsverzeichnis. Das Löschen des .vs-Ordners sollte keine Probleme verursachen, obwohl Sie Ihr Startprojekt zurücksetzen müssen.

0
ChrisBeamond

Ich habe alles versucht, was hier vorgeschlagen wurde. Schließlich setze ich die "Spezifische Seite" in Projekteigenschaften -> Web auf meine lokale Start-URL, Seite und Abfrageparameter. Ich habe im Debug-Modus eine Neukonstruktion durchgeführt und dabei meinen Haltepunkt erreicht.

0
IrishChieftain

Ich bin heute auf Fehler beim Bindungsbruchpunkt gestoßen. Und ich habe mein Problem gelöst.

Wenn alle Ihre Debug-Konfigurationen nicht korrekt sind, können Sie das Problem nicht beheben.

  1. Projekt reinigen
  2. Wenn sich der Ausgabepfad vom Ordner bin unterscheidet, ersetzen Sie ihn durch den Ordner bin (dies ist die wichtigste Regel).
  3. Wiederaufbau

Vielleicht hilft diese Lösung jemandem.

0
RockOnGom

In meinem Fall wurde eine neue web.config-Datei erstellt, nachdem ich Profiler verwendet habe. Durch das Wiederherstellen von web.config auf die vorherige Version wurde dieses Problem behoben. Es war eine VS2015 C # Webanwendung.

0
eagal

VS-Haltepunkte können nicht an asynchrone Methoden binden.

Ich hatte einen App Dynamics-Agenten installiert, der dies verursacht hat. Entfernen Sie das und Sie sind gut zu gehen.

0
Dani

Ich schwenkte ein Gummihuhn über meine Entwicklungsmaschine, zeichnete einen Stern um die Kreide herum und das funktionierte. Bevor Sie kichern, ist dies nicht weniger unsinnig als die anderen Nicht-Lösungen, die für diesen Fehler angeboten werden. Sie werden es einfach nicht schaffen, die kurzen oder langatmigen Schritte in einer der hier angebotenen Lösungen zu beenden. Ich glaube, der Verzicht auf Visual Studio 2015 ist der einzige praktische Weg, um dies zu vermeiden. 

0
Rick O'Shea

Ich musste die Datei web.config ändern, um das Debugging zu aktivieren. Ändere das:

<compilation debug="true" targetFramework="4.5.2" assemblyPostProcessorType="Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter, Microsoft.VisualStudio.Enterprise.AspNetHelper, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

zu:

<compilation debug="true"/>
0
sereschkin

Das neue Update für Microsoft Visual Studio 2015 Update 3 (KB3165756) hat das Haltepunktproblem für mich behoben, bei dem ich die lokalen Variablen in C # -Code untersuchen möchte, der in cshtml-Dateien in ASP.NET Core-Anwendungen eingebettet ist.

0
hem