webentwicklung-frage-antwort-db.com.de

Haltepunkte werden in Xamarin Studio nicht getroffen

Meine Haltepunkte werden in Xamarin Studio nicht getroffen. Ich bin mir nicht sicher, ob das mit meinem Code zu tun hat oder nicht, aber ich habe das Gefühl, dass dies nicht der Fall ist, weil ich es immer wieder versucht habe, Haltepunkte überall in meinem Projekt zu setzen (an Orten, wo ich weiß, dass sie definitiv sein sollten und an Stellen, an denen der Code einwandfrei funktioniert und in keinem Zusammenhang mit dem gerade getesteten Feature steht), und keiner von ihnen wird beim Debuggen bestätigt. Ich habe die Haltepunkte nicht deaktiviert und ich habe sie nicht an der falschen Stelle hinzugefügt. Die Haltepunkte sollten normal funktionieren und nicht. Ich füge hinzu, dass ich meine Anwendung während des Debugging-Prozesses nicht anhalten darf. Ich denke, Sie könnten sagen, dass der Debugger in meinem Xamarin Studio nicht funktioniert und ich habe keine Ahnung, warum. Ich glaube, ich habe festgestellt, dass es nicht mit dem Code zusammenhängt, aber ich kann mir noch nicht sicher sein. Bitte helfen Vielen Dank. 

14

Es ist die populärste Frage über: "Haltepunkte werden in Xamarin nicht getroffen" in Google, also werde ich nach einem ganzen Tag von Versuch und Irrtum eine Lösung für dieses Problem für Xamarin-Versionen> 4.0.0.xxx veröffentlichen. Ja, leider ist das einfach. 

SOLUTION (Diese Lösung ist für Android-App in Visual Studio, sollte aber auch in Xamarin Studio funktionieren.)

Entfernen Sie alle Symbole aus dem Pfad zu Ihrem "Debug" -Ordner (normalerweise: [Pfad zu Ihrer .sln-Datei]\[Ihr Lösungsname]\bin\Debug):

Wenn Sie zum Beispiel haben:

G:\My Files\Programming\C# (+ JS)\Test1\Examples\LINQ to Objects\AndroidDemo\AndroidDemo\bin\Debug

Ändern Sie es in:

G:\My Files\Programming\CSharp\Test1\Examples\LINQ to Objects\AndroidDemo\AndroidDemo\bin\Debug

Für mich verursachten "(" und ")" Symbole den Ärger (Wer verwendet solche Symbole eigentlich im Pfad?)

Um zu überprüfen, ob dies funktioniert, öffnen Sie den Debug-Ordner. Wählen Sie in VIsual Studio "Clean Solution", "Recompile Solution" und "Deploy" aus.

Die Aktion "Bereitstellen" sollte * .mdb-Dateien generieren, die Ihre Debugging-Daten enthalten. Wenn sie vorhanden sind, sollten Sie jetzt an Haltepunkten stoppen können.

Jetzt können Sie einfach wie üblich F5 drücken, wenn Sie etwas debuggen müssen.

 enter image description here

18
rvnlord

Ich bin nicht sicher, ob jemand diesem Thread immer noch folgt, aber diese Problemumgehung hat für mich funktioniert. Das Problem hat manchmal mit der Mono 5 zu tun.

Die Auflösung lautet also, ältere Mono-Version zu verwenden:

Setzen Sie "Project> Active Runtime" auf "Mono 4.8.0 (8f6d0f6) (/Library/Frameworks/Mono.framework/Versions/4.8.0)".

für Mac-Benutzer ändern Sie es in "Einstellungen" -> ".NET-Laufzeit"

Erstellen Sie dann das Android-App-Projekt neu.

9
Haggai

Das Löschen der BIN-Ordner und aller * .SUO-Dateien ist eine bevorzugte Lösung für dieses Problem.

Sie können auch versuchen, einen beliebigen * .csproj.user zu löschen

Setzen Sie im schlimmsten Fall die VS-Einstellungen zurück, indem Sie (Ausführen) mit "Devenv.exe/ResetSettings" starten.

3
  1. Stellen Sie sicher, dass Ihre Build-Konfiguration auf Debug gesetzt ist. 
  2. Stellen Sie sicher, dass die Build-Einstellungen Ihres Projekts so eingestellt sind, dass DEBUG-Symbole für Ihre Debug-Konfiguration ausgegeben werden können.
  3. Bereinigen und erstellen Sie Ihre Lösung/Ihr Projekt neu.
  4. Schließen Sie Xamarin Studio und starten Sie es erneut.
  5. Starte deinen Computer neu.

Manchmal werden die Build-Konfigurationen für Ihre Lösung kompliziert, und beim Erstellen einer komplexen Build-Konfiguration kann etwas übersehen werden. Stellen Sie sicher, dass alles richtig eingerichtet ist.

1
NovaJoe

Ich habe dies gestern mit VS 2013 und Xamarin Plugin festgestellt. "Plötzliche" Haltepunkte in einem PCL-Projekt waren nicht aktiv, obwohl Haltepunkte in einem Android-Projekt noch vorhanden waren. Seit Wochen lief alles einwandfrei und ich hatte keine Updates installiert. VS Debug betrachten | Windows | In der Modulansicht konnte ich sehen, dass für die PCL-Baugruppe keine Symbole geladen wurden, und nichts, was ich versuchte, würde sie zwingen, sie zu laden, obwohl sie im Ordner mit den laufenden Baugruppen vorhanden waren.

Dann fiel mir ein, dass das letzte, was ich am Vortag getan hatte, nicht mit Code zu tun hatte, sondern ein bisschen Refactoring von csproj-Dateien zur Unterstützung eines parametrisierten Jenkins-Builds. Ich hatte eine OutputPath-Definition in die erste "gemeinsam genutzte" PropertyGroup eingefügt und sie aus allen Konfigurations-/plattformspezifischen PropertyGroups entfernt, z.

<OutputPath>bin\$(Configuration)\</OutputPath>

Ich habe diesen "allgemeinen" Ausgabepfad gelöscht und wieder in jede spezifische PropertyGroup eingefügt (was meine DRY-Empfindlichkeiten beleidigt, wohlgemerkt), und die Dinge funktionierten wieder.

Dies wird wahrscheinlich nicht sehr viele Menschen beißen, aber es hat ein paar Stunden vergeudet, so dass es hoffentlich jemand anderen erspart. Der Xamarin-Build führt wahrscheinlich einige seiner MSBuild/xbuild-Spelunking-Vorgänge mit starken Erwartungen aus. Wenn Sie also Ihre csproj-Dateien für einen Buildprozess geändert haben, könnte dies ein möglicher Grund dafür sein.

1
Mark Larter

Ich habe dieses Problem in der Xamarin Forms-App mit Visual Studio für Mac festgestellt. In meinem Fall ist es wegen des Debuggers passiert. Visual Studio zeigte ständig "Warten auf den Debugger, um eine Verbindung zum iOS-Simulator herzustellen ...", während er in einem iOS-Simulator ausgeführt wurde. Ich habe den Simulator zurückgesetzt ( Hardware => Löschen Alle Inhalt und Einstellungen ) und die Lösung bereinigt. Dann konnte ich das Debuggen mit Haltepunkten durchführen. Hoffe das hilft jemandem.

0
Dev

Ich habe von Stable zu Alpha Channel v.3.11.785 (Alpha) gewechselt. Alle Haltepunkte sind jetzt getroffen.

0
macio.Jun

Ich füge diese Antwort hinzu, weil dies der einzige war, der für mich funktionierte. In Project Properties > Build habe ich Optimize Code falsch geprüft. Durch Deaktivieren dieses Kontrollkästchens wurde das Problem behoben.

0
Entretoize