Wie behebe ich das Problem? „Der Haltepunkt wird derzeit nicht erreicht. Für dieses Dokument wurden keine Symbole geladen. “ Warnung?

1574

Die C # -Desktopanwendung in der Express Edition funktionierte und funktionierte 5 Sekunden später nicht mehr.

Ich habe folgendes versucht:

  • Stellen Sie sicher, dass die Debug-Konfiguration, das Debug-Flag und die vollständigen Debug-Informationen für alle Assemblys festgelegt sind.
  • Löschen Sie alle bin- und obj-Ordner sowie alle mit dem Projekt verbundenen DLLs von meinem gesamten Computer.
  • Erstellen Sie Projekte neu, die das Problem verursachen, von Grund auf neu.
  • Starten Sie neu.

Ich habe zwei WinForms-Projekte in der Lösung. Einer von ihnen lädt die Debug-Informationen, einer nicht. Beide beziehen sich auf die Assembly, für die ich in der Projektdatei genau die gleichen Debug-Informationen abrufen möchte. Irgendwelche Ideen?


Ich möchte hier vor allem für mich selbst hinzufügen, dass Symbole erst geladen werden, wenn die Baugruppe geladen wird, und die Baugruppe erst geladen wird, wenn sie benötigt wird. Wenn sich der Haltepunkt in einer Bibliothek befindet, die nur in einer Funktion in Ihrer Hauptbaugruppe verwendet wird, werden die Symbole erst geladen (und der Haltepunkt wird als nicht getroffen angezeigt), bis diese Funktion aufgerufen wird.

Instance Hunter
quelle
119
Wechseln Sie beim Debuggen zur Ansicht Debug, Windows, Module. Hier werden Informationen zu geladenen Modulen und zum Symbolstatus angezeigt. Sie können mit der rechten Maustaste auf ein Modul klicken und versuchen, die Symbole von einem anderen Ort zu laden.
Polyfun
14
Die Express Edition verfügt nicht über die Modulansicht.
Instance Hunter
12
Guter Punkt für Baugruppen, die erst bei Bedarf geladen werden. Der Debugger zeigt an, dass der Haltepunkt nicht erreicht wird, aber die Anzeige ändert sich / Ihr Haltepunkt wird getroffen, sobald die Assembly geladen ist. Eine kitschige Problemumgehung für dieses Problem mit der Benutzeroberfläche besteht darin, die Baugruppe beim Programmstart aufzurufen, um das Laden der Baugruppe zu erzwingen.
Tim Coker
1
Ich hatte das gleiche Problem und bemerkte, dass ich es für diese Build-Konfiguration, die ich <DebugSymbols>true</DebugSymbols>in VS2015 nicht hatte, manuell hinzugefügt habe und es gut funktioniert hat.
Kuskmen
4
Das Entfernen der .suo-Datei könnte dieses hässliche Problem in meinem Projekt gelöst haben
Roland

Antworten:

1083

Starten Sie das Debuggen, sobald Sie an einem Haltepunkt angekommen sind oder es verwendet Debug > Break Allhaben Debug > Windows > Modules. Sie sehen eine Liste aller Assemblys, die in den Prozess geladen werden. Suchen Sie diejenige, für die Sie Debug-Informationen erhalten möchten. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Symbol Load Information. Sie erhalten ein Dialogfeld, in dem alle Verzeichnisse aufgelistet sind, in denen nach der PDF-Datei für die Assembly gesucht wurde. Überprüfen Sie diese Liste anhand des tatsächlichen PDF-Speicherorts. Stellen Sie sicher, dass kein alter gefunden wird.

In normalen Projekten sollten die Assembly und ihre PDF-Datei immer von der IDE in denselben Ordner wie Ihre EXE-Datei kopiert worden sein. Der Ordner bin \ Debug Ihres Projekts. Stellen Sie sicher, dass Sie eine aus dem GAC entfernen, wenn Sie damit gespielt haben.

Hans Passant
quelle
4
Tatsächlich war das das Problem in meinem Fall. Wir hatten eine Nachkompilierung, die dazu führte, dass sie nicht als "Benutzercode" betrachtet wurde. Jetzt muss ich sehen, was damit los ist, aber ich habe bestätigt, dass die Symbole ohne die Änderungen nach der Kompilierung geladen werden. @Hans danke, hat mir ein paar gute Minuten erspart! schickt ein virtuelles Bier
eglasius
29
Bei der Frage handelt es sich um eine Expressausgabe, für die diese Antwort leider nicht gilt. Eigentlich funktioniert keine der Antworten für mich, ich habe auch versucht, den Debug-Ordner zu entfernen und neu zu erstellen.
Nicolas Raoul
3
Microsoft Visual Studio Express 2013 für Web verfügt nicht über die Option Windows-Module debuggen. Wie kann man dies in diesem Fall beheben?
Andrus
3
Aktivieren Sie als Hinweis Ihre Ausnahmen so, dass sie dort brechen, wo Sie es möchten (wenn Sie zu Beginn des Prozesses keinen Haltepunkt setzen können) ... Folgen Sie dann dem von Han empfohlenen Prozess Debug> Windows> Module. Suchen Sie nach dem Projekt, in das Sie eintreten wollten, und sehen Sie sich den PFAD an. Wenn dort "C: \ windows \ Assembly" steht, zeigt es auf eine GAC-DLL und NICHT auf das Projekt ...
Andy Danger Gagne
5
Ich hatte die aktive Lösungskonfiguration meiner Lösung auf Release gesetzt und sie wieder in Debug geändert, um mein Problem zu lösen. Diese Antwort half mir, mich zu "erinnern", wonach ich suchen sollte
Gilad
436

Versuchen Sie zunächst, Ihr Projekt neu zu erstellen, indem Sie mit der rechten Maustaste auf das Projekt klicken.

Wenn das nicht funktioniert hat, überprüfen Sie Folgendes:

  1. Klicken Sie mit der rechten Maustaste auf Ihr Projekt
  2. Wählen Sie [Eigenschaften]
  3. Wählen Sie die Registerkarte [Erstellen]
  4. Stellen Sie sicher, dass [DEBUG-Konstante definieren] und [TRACE-Konstante definieren] aktiviert sind
  5. Stellen Sie sicher, dass [Code optimieren] deaktiviert ist
  6. Klicken Sie unten auf der Registerkarte Erstellen auf die Schaltfläche [Erweitert]
  7. Stellen Sie sicher, dass [Debug Info:] auf [full] gesetzt ist.
  8. Klicken Sie auf [OK] und erstellen Sie das Projekt neu ;-)

(Schritt 6 generiert die PDF-Dateien. Dies sind die Debugging-Symbole.)

juFo
quelle
40
Stellen Sie sicher, dass [Debug Info:] auf [full] gesetzt ist - behoben für mich! Ich habe mehrere Konfigurationen in meinem Projekt eingerichtet, die neuen, die ich hinzugefügt habe, hatten diese Einstellung nicht.
Chiefy
1
Das hat bei mir funktioniert! Aber anstatt [voll] konnte ich nur pdb machen
Aaron Shaver
42
Es stellte sich heraus, dass ich im Release Build war. tsk.
PNDA
2
Wenn Sie ein gemischtes C ++ / C # -Projekt mit einem nativen Start haben, stellen Sie sicher, dass das Projekt Debugging> Debugger Type Mixed ist.
Bill Hoag
4
Ich musste auch sicherstellen, dass Properties > Build > Optimize codedas nicht markiert war .
Jeffreyudio
273

Nur etwas Einfaches zu versuchen - vielleicht haben Sie es bereits versucht. Klicken Sie mit der rechten Maustaste auf die Lösung im Lösungs-Explorer, klicken Sie auf "Lösung bereinigen". Dadurch werden alle kompilierten und temporären Dateien gelöscht, die einer Lösung zugeordnet sind .

Führen Sie eine Neuerstellung der Lösung durch und versuchen Sie erneut, das Debugging durchzuführen.

Ich hatte auch Probleme mit Haltepunkten für mehrere Projekte in einer Lösung - einige als x86 kompiliert, andere als x64.

Patrick
quelle
5
Wie haben Sie die Haltepunkte mit mehreren Projekten in einer Lösung behoben - einige als x86 kompiliert, andere als x64?
Richard Li
3
Wenn Sie IISExpress (oder den Azure-Emulator) ausführen, werden die Dateien in C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporäre ASP.NET-Dateien \ root möglicherweise nicht aktualisiert, wenn Ihre AssemblyVersion 1.0.0.0 ist. Stellen Sie sicher, dass es sich um 1.0 * handelt, damit bei jedem Erstellen Ihres Webprojekts eine neue Version generiert wird. Clean Solution löscht den Ordner für temporäre Internetdateien nicht.
Michael Lang
1
Dies macht dasselbe wie ein Rebuild All.
Jonathan Wood
2
@ Jonathan Wood - Dem stimme ich größtenteils zu. Aber in seltenen Fällen kann Rebuild All zu leicht unterschiedlichen Ergebnissen führen - ich weiß, dass ich manchmal merkwürdige Unterschiede gesehen habe. Schauen Sie hier für eine interessante Diskussion: stackoverflow.com/questions/1247457/…
Patrick
1
Für mich war es einfach "Build" ... "Clean Solution"
Dominic Isaia
238

Deaktivieren Sie die Option "Nur mein Code" in den Einstellungen "Debuggen / Allgemein".

sublimental
quelle
2
Ja, in einem Windows Phone 8-Projekt mit einer benutzerdefinierten Build-Konfiguration hat dies für mich getan.
GONeale
2
Arbeitete für mich mit Windows Phone 8.1 und VS Community 2015.
Fabiano Araujo
20
Nur um es klar zu machen: In VS 2017 befindet sich diese Einstellung speziell im Dialogfeld Tool, Optionen im Bereich Debugging, Allgemein (genauer gesagt gibt es keinen Bereich "Debuggen"). Das Kontrollkästchen heißt "Nur meinen Code aktivieren" und nicht "Nur mein Code".
Jazimov
1
Dies funktioniert für mich, aber ich kann den Variablenwert nicht sehen, wenn Hover oder Shift + F9 einen Fehler erhalten. Der Wert von local oder argument kann nicht abgerufen werden, da er an diesem Anweisungszeiger nicht verfügbar ist, möglicherweise weil er
Naveen Kumar
1
Arbeitet immer noch in Visual Studio 2019!
Toby Caulk
148

Crossposting dieses Fixes von Hans K , das ich im ähnlichen Thread gefunden habe >> HIER << :

Klicken Sie mit der rechten Maustaste auf Lösung -> Eigenschaften

Suchen Sie unter Allgemeine Eigenschaften -> Startprojekt

Wählen Sie mehrere Startprojekte aus

Wählen Sie Aktion starten für die Projekte, die Sie debuggen möchten.

jp2code
quelle
7
Dies behandelt auch Situationen, in denen Sie versuchen, ein WEB-Projekt zu debuggen, bei dem es sich um einen .NET-Remoting-Endpunkt handelt, der auf dem VS-Entwicklungsserver ausgeführt wird und "keine geladenen Symbole" anzeigt.
D-Sect
1
Das hat es für mich behoben. Ich denke, zuvor hatte jemand versucht, das Debugging an den lokalen IIS-Server anzuhängen, anstatt an die Debug-Version von IIS, die Visual Studio verwendet.
Dowlers
1
Wenn Sie die .suo-Datei entfernt haben, können Sie die hier ausgewählten Lösungseinstellungen verlieren und müssen sie erneut festlegen
eingelöst
Ich habe diese Einstellungen heute erneut überprüft, nachdem ich zuvor erfolgreich debuggt hatte, und festgestellt, dass meine Startprojekte irgendwie zu einem einzelnen Startprojekt zurückgekehrt waren. Es lohnt sich, es noch einmal zu überprüfen.
Anthony De Souza
64

Die ausgewählte Antwort veranlasste mich, mein Problem zu beheben. Aber ich muss noch ein paar Dinge tun:

Auch wenn in der Dropdown-Liste "Debug" ausgewählt ist:

Geben Sie hier die Bildbeschreibung ein

Und im Projekt Eigenschaften> Erstellen:

Geben Sie hier die Bildbeschreibung ein

Das Visual Studio hat keine Symbole in ein bestimmtes Projekt geladen. In dieser Dropdown-Liste habe ich "Configuration Manager" ausgewählt und festgestellt, dass die Einstellungen für mein Webprojekt falsch waren:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Dann habe ich das auf "Debug" gesetzt und es begann die .pdbDatei zu generieren . ABER ich muss den PDB und die DLL manuell kopieren und in den Ordner legen, nach dem VS gesucht hat (hier hat mir die ausgewählte Antwort geholfen):

Geben Sie hier die Bildbeschreibung ein

Fabriciorissetto
quelle
1
Ich lief im releaseModus. Vielen Dank !!
Dipak Telangre
Der Schlüssel für mich war, dass das Kontrollkästchen "Bereitstellen" nicht aktiviert war, sodass die PDF-Datei nach dem Erstellen nicht erneut bereitgestellt wurde
Ben
43

Debug> Windows>Modules zu sehen, welche Module geladen wurden, habe ich mich in die richtige Richtung bewegt.

In meinem Fall schien IIS Express eine andere DLL als die temporären ASP.NET-Dateien zu laden.

Die Lösung?

  1. Navigieren Sie zu C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
  2. Lösche alles in diesem Verzeichnis!
James S.
quelle
Dies war mein Problem, der Ordner muss voll von kaputten DLLs gewesen sein, die als Präferenz geladen wurden.
Gburton
8
Dies funktionierte für mich, außer in meinem Fall war das Verzeichnis, das ich löschen musste, C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporäre ASP.NET-Dateien \ vs \
Andy
Ich hatte ein ähnliches Problem, bei dem ich diese Anwendung bereits installiert hatte und diese DLL anstelle der aus meinem Projekt ohne zugehörige PDB-Datei geladen wurde. Nach der Deinstallation der alten App wurde das Problem für mich behoben. Vielen Dank!
Lenny K
42

Ich konnte den Fehler beheben, indem ich einfach die Option "An Prozess anhängen" auf "Automatisch den Typ des zu debuggenden Codes bestimmen" setzte, wie im angehängten Screenshot gezeigt.

Befolgen Sie einfach die folgenden Schritte:

  • Gehen Sie zu Debug der Menüleiste
  • Klicken Sie auf An Prozess anhängen
  • In der Nähe des anhängen Option, klicken Sie auf die Select - Taste
  • Das Fenster Codetyp auswählen wird angezeigt
  • Wählen Sie nun die Option Automatisch den zu debuggenden Codetyp bestimmen und klicken Sie auf die Schaltfläche OK.

Debugging-Fehler behoben

theITvideos
quelle
10
Für andere, die alles auf dieser Seite ausprobiert haben, habe ich mein Problem behoben, indem ich zu "Verwalteter (v4.5, v4.0) Code" gewechselt habe!
Steve Krzysiak
Der Wechsel zu "Verwaltet (v4.5, v4.0)" hat dies auch für mich durch das Debuggen einer DNN ASP.Net-App behoben. Vielen Dank!
Mmm
Der Wechsel von "Den zu debuggenden Codetyp automatisch bestimmen" zu "Verwaltet (v4.6, v4.5, v4.0)" hat bei mir funktioniert. Ich habe eine Lösung mit 2 Klassenbibliotheken, eine ist COM-zugänglich, beide zielen auf Framework 4.6.1 ab.
Jorb
Ich hatte eine falsche Option ausgewählt (".NET Core" anstelle von "Managed v4.6"). Ich habe "Automatisch bestimmen ..." gewählt und es hat funktioniert! Anfangs fand ich diese Lösung in diesem Blog-Beitrag blog.simontest.net/… .
Evgeni Nabokov
41

Manchmal, obwohl es Ihnen diesen Fehler gibt, wird der Fehler breakpointimmer noch getroffen. Ignorieren Sie den Fehler einfach. Dies geschieht ziemlich oft in die Viewsvon ein MVC web app.

Serj Sagan
quelle
7
Dies sollte eigentlich irgendwo nach oben gestimmt werden. Ich habe viel Zeit damit verbracht, alle oben genannten Antworten zu geben, aber der Haltepunkt würde tatsächlich erreicht werden. Überprüfen Sie einfach :) Auch das war eine WPF-Desktop-App.
Bartosz
4
aspx scheint auf Anfrage kompiliert zu werden, daher sind Debug-Informationen erst verfügbar, nachdem die aspx-Seite benötigt wird
Aeroson
Auch für UnitTesting - Sie müssen einige Sekunden warten, dann wird es getroffen.
David Refaeli
Ich denke, @aeroson Kommentar ist das, was mir begegnet ist. Eine Seite hat Haltepunkte geladen, eine andere nicht. Versuchte alle möglichen Dinge aus Antworten hier und aktualisierte dann diese Seite und die Haltepunkte geladen.
Goodeye
danke ... eine halbe Stunde herumgraben und gerade feststellen, dass der Haltepunkt immer noch erreicht wird ...
Kyle Huang
39

Überprüfen Sie, ob Ihre .pbd-Datei in Ihrem bin / Debug-Ordner fehlt. Wenn dies der Fall ist, gehen Sie zu "Eigenschaften" Ihres Projekts, wählen Sie "Erstellen" und dann unten "Erweitert". Wählen Sie im neuen Fenster unter "Debug-Informationen" die Option "Vollständig". Dies war mein Problem und löste es für mich.

Anzeigen, wo sich die Einstellung befindet

Arne H. Bitubekk
quelle
Ich würde jedem empfehlen, der auf diese Seite kommt, um sicherzustellen, dass die PDF-Datei generiert wird, da dies das Problem für mich war.
EatATaco
Vielen Dank! "Nur pdb" (statt voll) war genug. Außerdem ist "Erweitert" eine Schaltfläche am unteren Rand von Build.
Greg Little
wo sollen die pdbs generiert werden?
Ylka
1
Vielen Dank, dies wurde für mich behoben, nachdem ich neue Web.config-Transformationen vorgenommen und die Standardkonfigurationen (wie Web.Debug.config) gelöscht habe, die VS 2017 bereitstellt.
Ken Palmer
1
Versuchte viele andere Optionen (fast 2 Stunden verschwendet) Diese "vollständige" Option behebt mein Problem. Vielen Dank!
SoftSan
29

In meinem Fall wurde "Code optimieren" in meinen Projekteigenschaften überprüft. Dies führte dazu, dass VS meine Assembly als "nicht mein Code" ansah und wiederum keine Symbole dafür lud.

Die Lösung bestand darin, dies zu deaktivieren. Position des Kontrollkästchens Code optimieren

Sandra
quelle
2
Dies war auch mein Problem, und ich ging alle oben genannten Lösungen einzeln durch, nichts funktionierte.
Antikbd
Ich habe diese Option, saubere Lösung, neu erstellte Lösung usw. deaktiviert. VS hat das Modul immer als "optimiert" betrachtet. Die einzige Möglichkeit, VS zum Aktualisieren der Debugging-Informationen zu zwingen, bestand darin, die Assembly-Version des Moduls zu erhöhen.
Alphanoch
Die einzige Lösung, die für mich funktioniert, ein # für Sie (# = ++++), aber ich kann nur einmal abstimmen
Luis Lopez
27

Überprüfen Sie einfach, ob sich Ihre Lösung im Release-Modus befindet.

Tino Jose Thannippara
quelle
1
Es dauerte fast 4 Stunden, um dieses Problem herauszufinden. danke
Null Zeiger
23

Versuchen Sie, Visual Studio als Administrator in Windows auszuführen.

Andy
quelle
1
Am Ende musste ich msvsmon als Admin auf dem Remote-Computer ausführen.
Bill Hoag
Dies ist keine Lösung, der die Leute folgen sollten. Wenn dies das Problem behebt, sollten Sie sich darauf konzentrieren, warum Sie Administratorrechte benötigen, damit VS den Inhalt der PDF-Datei Ihres Projekts lesen kann.
Jazimov
@ Jazzimov Ich bin anderer Meinung. Während ich gerne Zeit damit verbringen würde, dies zu untersuchen, löste dies in meinem Fall mein Problem und erlaubte mir, weiter zu arbeiten, wie ich mir sicher bin, dass dies auch für andere der Fall war. Wenn Sie sich damit befassen und diese Antwort verbessern möchten, fühlen Sie sich frei, dafür ist es da.
Andy
Um es klar auszudrücken: Ich verstehe, dass es Ihr Problem mit Visual Studio behoben hat. Das habe ich nicht bestritten. Ich streite die Empfehlung , dass andere das IDE als accept läuft die Lösung anstatt einfach eine Lösung. Wenn das Ausführen der IDE als Administrator das Problem behebt, sollten diese Informationen zur Behebung der eigentlichen Grundursache verwendet werden, damit die IDE keine Administratorrechte benötigt, um ordnungsgemäß zu funktionieren.
Jazimov
21

In meinem Fall versuche ich, im Relase-Modus zu debuggen. Sobald ich es in den Debug-Modus ändere. Es funktioniert

Adithya Sai
quelle
15

Sie müssen "Debug-Informationen generieren" in den Compiler-Einstellungen aktivieren

DS.
quelle
1
Wo soll das sein
MushyPeas
10
Es ist dasselbe wie die Antwort von juFo - Projekt> Eigenschaften> Erstellen> Erweitert> Debug-Info> Vollständig (oder nur als PDF)
Jeremy Thompson
Hören Sie Jeremy Thompsen. Es hat das Problem für mich behoben.
Thorkil Værge
12

Debug- ->Optionen ->Allgemein ->Deaktivieren Sie das Kontrollkästchen für " Enable Just My Code"

Das hat bei mir funktioniert.

abdallah mahmoud
quelle
1
Dies scheint eine Standardeinstellung zu sein, die es wert ist, überprüft zu werden, ob VS auf eine neuere Version aktualisiert wird (wie mir passiert ist).
Agamemnon
10

Wir haben die Ursache unseres Problems gefunden. Dieser Code verwendete das Attribut "CodeBehind" in der Page-Direktive der ASPX-Datei anstelle des Attributs "CodeFile" (ASP.NET 2.0 und höher). Nach Tagen der Verzweiflung löste eine einfache Suche und Ersetzung das Problem.

cjo30080
quelle
10

Die Option "Debuggen starten, Debuggen + Windows + Module" ist in Microsoft Visual Studio Express 2013 Edition nicht vorhanden.

Das Deaktivieren von "Verwalteten Kompatibilitätsmodus verwenden" in den Tools-Optionen Debugging behebt dieses Problem .

Andrus
quelle
10

Überprüfen Sie Ihre Solution ConfigurationDropdown-Liste. Stellen Sie sicher Debug, dass Sie nicht auswählen Release.

zs2020
quelle
Vielen Dank @ zs2020
Shakeel Hussain Mir
9

Ich habe alles versucht, was oben erwähnt wurde, aber nichts hat funktioniert. [Lösung reinigen und nach PDB-Dateien usw. suchen]

Selbst die Veröffentlichung derselben Lösung hat das Problem nicht behoben.

Dann ging ich zurück zu dem, was ich normalerweise mache, um es zu lösen (täusche dieses hartnäckige Visual Studio)

Ich habe lediglich den Code absichtlich geändert und die Lösung veröffentlicht. Dann habe ich die Änderung rückgängig gemacht und erneut veröffentlicht.

Voila [PDB-Dateien befreien böse Geister] .. Keine kluge Lösung, aber das hat funktioniert ..: - |

Mahesh
quelle
7

Nur Webanwendungen (IIS Express):

  • Klicken Sie mit der rechten Maustaste auf IIS Express Tray und schließen Sie den IIS.
  • Saubere Lösung

IIS-Fach

Christian Gollhardt
quelle
Ich habe viele der anderen Vorschläge in anderen Antworten ausprobiert, von denen mir viele in der Vergangenheit geholfen haben, aber heute hat dieser geholfen. In meinem Fall habe ich mehrere Zweige und ich glaube, IIS Express steckte irgendwie in einem anderen Zweig fest und wurde mit dem Zweig, den ich zu debuggen versuchte, trotz meiner zahlreichen Versuche zum Bereinigen und Wiederherstellen nicht aktualisiert.
Chris H
6

Keine dieser Antworten löste mein Problem. Ich habe eine andere Sache ausprobiert, basierend auf der Tatsache, dass das Projekt mit dem Stopp in Wirklichkeit nicht das geladene Projekt war. Ich fand, als Hans Passant schrieb, dass die DLL, in der ich den Debugger stoppen möchte, und die zugehörigen PDF-Dateien in der Nähe der EXE-Datei kopiert wurden. Diese Dateien hatten ein älteres Datum, daher dachte ich, dass sie zur Laufzeit nicht aktualisiert wurden. Ich habe sie manuell gelöscht, Visual Studio ein weiteres Paar erstellt UND dieses neue Paar in die Nähe der EXE-Datei gestellt. Jetzt funktioniert der Breakpoin!

Möglicherweise kann Visual Studio vorhandene Dateien (.dll und .pdb) in der Nähe der EXE-Datei nicht kopieren und ERSETZEN, da dort weitere vorhanden sind. Wenn ich also manuell löschte, konnte VS in der Nähe von .exe eine neue erstellen.

Ich denke, dass andere Änderungen (Überprüfungen usw. - von den anderen Antworten) etwas ausgelöst haben und Visual Studio die DLL und die PDF-Datei aus dem Projektordner in den Ordner in der Nähe der Exe kopiert und ersetzt hat. Das war also eine Lösung.

Ich denke, dass die Hauptursache des Problems darin besteht, dass Visual Studio zur Laufzeit eine andere Datei verwendet, nicht die Datei aus dem Projekt, mit dem Stopp.

Vielleicht diese Antwort, um jemandem zu helfen!

Tratak
quelle
6

Dinge, die überprüft werden müssen, um klar zu sein: Stellen Sie sicher, dass die Konfiguration auf 'Debug' und nicht auf 'Release' eingestellt ist. Sie können das Startprojekt im Release-Modus debuggen, jedoch nicht in einer referenzierten Klassenbibliothek.

Sai Chakradhar Sana
quelle
6

Projekteigenschaften (wählen Sie dann Ihre Build-Konfiguration aus)> Registerkarte Build> Erweitert ...> Debug-Informationen (Dropdown)

Auf 'all' oder 'only pdb' setzen und dann neu erstellen

Sinaesthetic
quelle
Ich habe nur pdb_only gemacht, auch den Browser bereinigt und neu gestartet
Jason
6

Anstatt all diese Dinge einfach zu tun

Schließen und erneut öffnen

Die Lösung behebt das Problem

kselva
quelle
Arbeitete für mich in Microsoft Visual Studio 2013 unter: Datei> Lösung schließen, dann Datei> Lösung öffnen (sollte mit demselben Ordner vorinstalliert sein, in dem es sich befand). Die Haltepunkte wechselten sofort von der gelben Flagge zur kreisförmigen roten. So danke.
Zargold
OMG Genie! Vielen Dank!!!
AresDev
6

Ich hatte ein ähnliches Problem und habe Folgendes getan: Debug => Optionen => Allgemein => Entfernen Sie das Häkchen für "Nur meinen Code aktivieren". Dies hat bei mir funktioniert.

Muhamed Krasniqi
quelle
Das funktioniert auch für mich
Mohammed Elshoraky
6

Es dauerte eine Weile, bis ich andere Optionen ausprobiert hatte, und aus irgendeinem seltsamen Grund funktionierte das Debuggen nicht mehr.

Tool -> Optionen -> Debuggen -> Allgemein -> (Deaktivieren) Option "Quelldateien müssen genau mit der Originalversion übereinstimmen"

tfa
quelle
6
  1. Saubere Lösung und Wiederaufbau
  2. Überprüfen Sie, ob die Konfiguration auf Debug eingestellt ist
  3. Stellen Sie sicher, dass sich die PDB-Datei selbst im Debug-Ordner befindet
  4. Klicken Sie im Debug-Menü auf Alle Haltepunkte aktivieren
Bimal
quelle
6

Überprüfen Sie, ob die folgenden beiden Einstellungen in Visual Studio gleich sind:

Klicken Sie mit der rechten Maustaste auf Testprojekt, gehen Sie zu Eigenschaften, Registerkarte Erstellen und sehen Sie sich das Plattformziel an

Meine sind alle auf "Beliebige CPU" eingestellt, also x64

Geben Sie hier die Bildbeschreibung ein

Gehen Sie in der Hauptmenüleiste zu Test, Testeinstellungen, Standardprozessorarchitektur

Meins war auf X86 eingestellt

Geben Sie hier die Bildbeschreibung ein

Ändern Sie dies auf X64 , um es mit der obigen Einstellung , funktionierte das integrierte Visual Studio-Menü "Debug Test (s)" und traf Haltepunkte, die zuvor mit der Meldung "Der Haltepunkt wird derzeit nicht erreicht" ignoriert wurden. Für dieses Dokument wurden keine Symbole geladen. “

Aktualisieren:

Für Visual Studio 2019 wurden die Menüs etwas verschoben: Geben Sie hier die Bildbeschreibung ein

Mike
quelle
5

Ich weiß, dass ich Jahre zu spät bin, aber ich dachte, ich hätte etwas falsch gemacht und die obigen Schritte befolgt, dann wurde mir klar, dass ich die Lösungskonfiguration versehentlich auf 'Release' gesetzt hatte :)

Neil Walker
quelle
1
Kann ich 10K-mal upvoten? Das Schlimmste ist, dass ich glaube, ich habe jetzt 10 Mal bei Google danach gesucht, und jedes Mal ist es der gleiche dumme Fehler. Vielleicht könnte Microsoft dem Benutzer darauf hinweisen?
Tfrascaroli