Frage

Ich arbeite in VS 2008 und habe drei Projekte in einer Lösung.Ich debugge, indem ich eine Verbindung zu einem .net-Prozess herstelle, der von einer Drittanbieter-App (SalesLogix, eine CRM-App) aufgerufen wird.

Sobald es an den Prozess angehängt wurde und ich versuche, einen Haltepunkt in einem der Projekte festzulegen, wird in dieser Datei kein Haltepunkt gesetzt.Es wechselt tatsächlich die aktuelle Registerkarte zu einer anderen Datei in einem anderen Projekt und setzt einen Haltepunkt in diesem Dokument.Wenn die Datei nicht geöffnet ist, geht es sogar so weit, sie für mich zu öffnen.Ich kann das nicht erklären.Ich habe keine Ahnung.Hat jemand so ein seltsames Verhalten gesehen?Ich würde es nicht glauben, wenn ich es nicht selbst sehen würde.

Noch ein paar Infos:Wenn ich vor dem Anhängen einen Haltepunkt setze, wird der „rote Punkt“ angezeigt und es wird angezeigt, dass keine Symbole geladen sind ... kein Problem ... das erwarte ich.Wenn ich meinen .net-Code von SalesLogix anhänge und aufrufe und zurück zu VS wechsle, ist mein Haltepunkt vollständig verschwunden (nicht einmal eine Warnung, dass die Quelle nicht mit der Debug-Datei übereinstimmt).Wenn ich versuche, die Debug-Datei manuell zu laden, erhalte ich die Meldung, dass die Symboldatei nicht mit dem Modul übereinstimmt.Die .pdb- und die .dll-Datei haben den gleichen Zeitstempel, daher bin ich ratlos.

Hat jemand irgendwelche Ideen?

Danke,

Jeff

War es hilfreich?

Lösung

Ich habe diese Funktionalität in älteren Versionen von VS.Net gesehen (2003, glaube ich).Es mag in aktuellen Versionen noch vorhanden sein, aber ich habe es noch nicht gesehen.Scheint, dass Dateien mit demselben Namen, selbst in verschiedenen Verzeichnissen, VS.Net verwirren und letztendlich einen Haltepunkt in einer Datei mit demselben Namen setzen.Dies kann nur passieren, wenn beide Klassen in der Datei denselben Namen haben.Soviel zu Namespaces, denke ich.

Möglicherweise möchten Sie auch Ihre Build-Konfiguration überprüfen, um sicherzustellen, dass alle Projekte tatsächlich im Debug-Modus erstellt werden.Ich weiß, dass ich ein paar Mal erwischt wurde, als die Konfiguration für die Lösung irgendwie geändert wurde und einige Projekte nicht im Debug-Modus kompiliert wurden.

Andere Tipps

Kibbee, du hattest recht!Es waren zwei Dateien mit demselben Namen in verschiedenen Ordnern.Ich habe den Haltepunkt in der richtigen Datei in Zeile 58 gesetzt – der Haltepunkt wurde in der anderen Datei in Zeile 58 gesetzt.Endlich konnte ich einen Haltepunkt festlegen, indem ich die Menüoption „Debug -> Neuer Haltepunkt -> Bei Funktionsname unterbrechen“ verwendete und meinen Funktionsnamen eingab.Es hörte genau so auf, wie es damals hätte sein sollen.

Ich stimme zu – so viel zu Namespaces, oder?Das verdammte Ding hat mich ein paar Stunden gekostet.Naja...zumindest ist es gelöst und ich weiß warum.

Danke für die Antwort und danke auch an Matt für seine Antwort!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top