tutorial que layouts español c# debugging xamarin xamarin.forms xamarin-studio

c# - que - Los puntos de interrupción no son golpeados en Xamarin Studio



xamarin forms tutorial (12)

Mis puntos de interrupción no están siendo golpeados en Xamarin Studio. No estoy seguro si esto tiene que ver con mi código, o no, pero siento que no lo hace porque he intentado una y otra vez poner puntos de interrupción en todo mi proyecto (en lugares donde sé que definitivamente deberían ser éxito, y en lugares donde el código funciona perfectamente y no está relacionado con la función que estoy probando actualmente) y ninguno de ellos recibe reconocimiento cuando depuro. No tengo deshabilitados los puntos de interrupción y no los agregué en el lugar equivocado. Los puntos de interrupción deberían funcionar normalmente, y no lo son. También agregaré que no puedo detener mi aplicación durante el proceso de depuración. Supongo que podrías decir que el depurador en mi Xamarin Studio no funciona y no tengo idea de por qué. Creo que he determinado que no está relacionado con el código, pero aún no estoy seguro de eso. Por favor ayuda. Gracias.


  1. Asegúrese de tener su configuración de compilación establecida en Depurar.
  2. Asegúrese de que la configuración de compilación de su proyecto esté configurada para permitir la emisión de símbolos DEBUG para su configuración de Depuración.
  3. Limpie y reconstruya su solución / proyecto.
  4. Cierre y reinicie Xamarin Studio.
  5. Reinicie su computadora.

A veces, las configuraciones de compilación para su solución pueden complicarse, y es fácil perder algo cuando se construye una configuración de compilación compleja. Asegúrese de que todo esté configurado correctamente allí.


Eliminar las carpetas BIN y cualquier archivo * .SUO es una solución favorita para este problema.

También puedes intentar eliminar cualquier * .csproj.user

En el peor de los casos, restablezca la configuración de VS iniciando (Ejecutar) con "Devenv.exe / ResetSettings"


Cambié de estable al canal alfa v.3.11.785 (Alpha). todos los puntos de interrupción ahora son afectados.


Me encontré con esto ayer, usando VS 2013 y el complemento Xamarin. "De repente" los puntos de interrupción en un proyecto PCL no estaban activos, a pesar de que los puntos de interrupción en un proyecto de Android aún existían. Todo había funcionado perfectamente durante semanas, y no había aplicado ninguna actualización. Mirando la depuración VS | Windows | Vista de módulos, pude ver que los símbolos no se cargaban para el ensamblaje PCL, y nada de lo que intenté los forzaba a cargar, a pesar de que estaban presentes en la carpeta con los ensamblajes en ejecución.

Entonces recordé que lo último que había hecho el día anterior no estaba relacionado con el código, sino que era un poco de refactorización de los archivos csproj para admitir una compilación de Jenkins parametrizada. Coloqué una definición de OutputPath en el primer PropertyGroup "compartido" y la eliminé de todos los PropertyGroups de configuración / específicos de la plataforma, por ejemplo:

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

Eliminé este OutputPath "común" y lo volví a colocar en cada PropertyGroup específico (ofender mis sensibilidades DRY, fíjate), y las cosas comenzaron a funcionar nuevamente.

Esto probablemente no va a morder a mucha gente, pero desperdició un par de horas, así que con suerte puede ahorrarle a alguien más. La construcción de Xamarin probablemente hace algunas de sus especulaciones de MSBuild / xbuild con grandes expectativas, por lo que si has modificado tus archivos csproj para un proceso de compilación, este podría ser un posible culpable.


Para mí, los símbolos "(" y ")" también estaban causando el problema, estaba buscando semanas para este problema. Elimine "(" y ")" en la ruta completa, realice una compilación limpia y los puntos de interrupción vuelvan a golpear.


En mi caso, xamarin no estaba golpeando ningún punto de quiebre. Se mostraron anillos de color rojo en lugar de círculos rojos llenos, porque hubo algunos errores de sintaxis que Xamarin no pudo señalar, ya que creo que la creación de la solución no estaba actualizada , incluso pude ejecutar la aplicación de manera sorprendente. Así que limpié y construí la solución, y señaló errores y advertencias relevantes después de eso. Los reparé y ejecuté el proyecto. ¡Pude depurar con éxito después de eso!


Si una vez que el proyecto se inicia en el dispositivo, VS vuelve al modo de edición estándar (no hay opciones de depuración habilitadas en el menú), es decir, el depurador no está conectado; verifique Propiedades del proyecto> Opciones de Android> Habilitar la instrumentación del desarrollador está marcada . Para mí, la configuración estaba deshabilitada (lo más probable es que esté activada en el control de código fuente después de un lanzamiento).


Utilice "Visual Studio para Mac" (Vista previa por el momento, pero funciona) en lugar de "Xamarin Studio". Esto solucionó el problema para mí. ¡Los puntos de interrupción están funcionando incluso en mis proyectos de PCL! Otra cosa ... tuve que cambiar "project.json" (formato JSON) a "packages.config" (formato XML) al cambiar de "Xamarin Studio" a "Visual Studio para Mac".


No estoy seguro si alguien todavía está siguiendo este hilo, pero esta solución funcionó para mí. El problema a veces tiene que ver con el mono 5.

Entonces la resolución es usar una versión anterior de mono:

Establezca "Proyecto> Tiempo de ejecución activo" en "Mono 4.8.0 (8f6d0f6) (/Library/Frameworks/Mono.framework/Versions/4.8.0)".

para usuarios de Mac, cámbialo en "Preferencias" -> "Runtimes .NET"

Luego, reconstruye el proyecto de la aplicación Android.


Es la pregunta más popular sobre: ​​"los puntos de interrupción no están siendo afectados en xamarin" en google, así que después de todo el día de prueba y error voy a publicar aquí una solución para este problema para las versiones de xamarin> 4.0.0.xxx. Sí, lamentablemente esto es simple.

SOLUCIÓN (Esta solución es para aplicaciones de Android en Visual Studio, pero debería funcionar en xamarin studio también)

Elimine todos los símbolos de la ruta a su carpeta "Debug" (generalmente: [ruta de acceso a su archivo .sln] / [nombre de su solución] / bin / Debug):

Entonces, si tienes, por ejemplo:

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

Cambiarlo a:

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

Para mí, los símbolos "(" y ")" estaban causando el problema (¿Quién está utilizando esos símbolos en la ruta de todos modos, verdad?)

Para verificar que esto esté funcionando, abra su carpeta de depuración, en VIsual Studio Seleccione "Solución limpia", "Solución de recompilación", "Implementar".

La acción "Implementar" debería generar archivos * .mdb que incluyen sus datos de depuración. Si están presentes, ahora debería poder detenerse en los puntos de interrupción.

Ahora puede simplemente presionar F5 como siempre cuando necesite depurar algo.


Dears, simplemente actualiza Visual Studio y funciona de nuevo. serás feliz


Yo tuve el mismo problema.

LA CAUSA (IMO):

En mi caso, el problema es causado por Xamarin Studio (pero con VS2013 es el mismo) proceso de compilación / reconstrucción.

Más detalladamente, los archivos * .mdb no se regeneran correctamente y, por lo tanto, el depurador no funciona correctamente. Puede verificar haciendo una solución limpia e ir a la carpeta bin / debug: si todavía ve archivos * .mdf, ¡ese es el problema en su caso también!

SOLUCIÓN

La única solución que funciona bien es eliminar manualmente todos los archivos * .mdb en bin / debug de todos los proyectos en su solución (por lo que el proyecto de Android y todos los proyectos PCL) y luego hacer una reconstrucción.

¡Déjeme saber si esto ayuda!