Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

695
Visualizações
Los puntos de interrupción no funcionan al depurar la biblioteca nativa de Android en Visual Studio 2015

En una instalación nueva de Visual Studio 2015, creé una aplicación de Android y una biblioteca nativa de Android. Las funciones de la biblioteca nativa se mencionan en el código de la aplicación a través de las directivas DllImport.

Cuando selecciono "Depurador de Xamarin" para la aplicación principal y empiezo a depurar, puedo detenerme en los puntos de interrupción en el código C#, pero el depurador no interviene en las llamadas a funciones nativas.

Cuando selecciono "Depurador de Microsoft", los puntos de interrupción no funcionan en absoluto. Durante la sesión de depuración, todos los puntos de interrupción se marcan como deshabilitados y, cuando los señalo, aparece el siguiente mensaje:

The breakpoint will not currently be hit. Module containing this breakpoint has not yet loaded.

¿Qué debo hacer para depurar las bibliotecas nativas de Android en VS2015?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Tuve el mismo problema y creo que lo he solucionado.

El depurador de Xamarin solo puede depurar código administrado (es decir, C#). Los puntos de interrupción solo funcionan con el depurador de Xamarin si el proyecto que se está depurando es un proyecto administrado. No funcionan si el proyecto es una aplicación nativa o una biblioteca nativa.

El depurador de Microsoft solo puede depurar código nativo (es decir, C/C++). Los puntos de interrupción solo funcionan con el depurador de Microsoft si el proyecto que se está depurando es una aplicación nativa o una biblioteca nativa, o si está conectado a un proceso de Android que ya se está ejecutando.

Pude usar ambos depuradores simultáneamente para depurar una aplicación híbrida (administrada + nativa), siguiendo este procedimiento:

  • En las propiedades de la aplicación administrada, seleccione "Xamarin" para el depurador: Captura de pantalla de la página de propiedades de la aplicación administrada que muestra el depurador de Xamarin seleccionado
  • En las propiedades del proyecto de la biblioteca nativa, en Depuración, asegúrese de que el destino de depuración y el paquete para lanzar coincidan con el destino y el APK seleccionados para la aplicación administrada. Esto asegurará que ambos depuradores se dirijan a la misma aplicación de Android y también le permitirá iniciar la aplicación directamente con el depurador de Microsoft (seleccionando la biblioteca nativa como destino para depurar) si solo desea depurar la parte nativa. Probablemente tendrá que buscar el APK y, para el destino, es posible que deba escribir el nombre del destino si no aparece en el menú desplegable (los nombres de destino son las cadenas que muestra "dispositivos adb"). Configuración de depuración para la parte nativa de la aplicación de Android
  • Seleccione la aplicación administrada para la depuración y asegúrese de que la arquitectura y el dispositivo de destino sean correctos en la barra de herramientas de depuración. Por ejemplo, si quiero depurar en mi Nexus 4, que usa la arquitectura ARM, me aseguro de que ARM esté seleccionado para el objetivo, no "Cualquier CPU", y mi Nexus 4 configurado como mi objetivo: Configuración de la barra de herramientas de depuración para la depuración de aplicaciones de Android gestionadas/nativas híbridas
  • Comience a depurar. En este punto, el depurador de Xamarin está activo y los puntos de interrupción en el código C# deberían estar funcionando.
  • Mientras la aplicación administrada aún se está ejecutando o se está depurando, haga clic con el botón derecho en el proyecto de la biblioteca nativa y seleccione Depurar > Adjuntar al proceso de Android. Si todo va bien, el depurador de Microsoft se iniciará y también se adjuntará a la aplicación (excepto en el "lado nativo", por así decirlo). Opciones de menú para adjuntar el depurador de Microsoft al "lado nativo" de su aplicación híbrida

Hice un video corto para demostrar esto: depuración de Android con código nativo y administrado usando Visual Studio 2015

over 4 years ago · Santiago Trujillo Relatório

0

El consejo descrito en esta publicación resolvió mi problema:

https://blogs.msdn.microsoft.com/cesardelatorre/2016/02/06/resolviendo-problemas-con-vs-android-emulator-xamarin-apps-and-intel-skylake-processor-ie-when-using- a-microsoft-surface-book-i7-surface-pro-4-etc/

SOLUCIÓN:

¡Y teníamos razón! El problema está relacionado con Hyper-V en Windows 10 cuando se ejecuta en los últimos procesadores Intel (Skylake). (Gracias Mike, del equipo de VS Android Emulator, quien sugirió esta posible solución).

Caliente para arreglarlo:

  • En el administrador de Hyper-V, haga clic con el botón derecho en la VM de Android que está utilizando.
  • Haga clic en Configuración
  • Expanda "Procesador", seleccione "Compatibilidad"
  • Habilite "Migrar a una computadora física con una versión de procesador diferente"

Puede ver a continuación la casilla de verificación que debe seleccionar. Máquina virtual Hyper-V > Configuraciones > Procesadores > Compatibilidad

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda