AzureDesarrolloRemote Debugging Web Apps En Azure Con Visual Studio 2019

3 de marzo de 20200
Portada » Blog » Remote Debugging Web Apps En Azure Con Visual Studio 2019

Aunque no es una opción recomendable depurar (o debugar, perdón por el palabro pero a veces es el más utilizado) en producción o pre-produccion, seguro que casi todos hemos tenido una situación de «en local funciona pero en remoto se comporta de manera diferente». Aunque cada vez hay más opciones para evitar este tipo de situaciones bien es cierto que a veces tenemos un susto de este tipo y una de las opciones más rápidas para ver que está pasando pasa por depurar la aplicación en remoto y ver que está fallando. Hasta aquí todo sencillo, y aparentemente Visual Studio nos da las herramientas necesarias para depurar una Web App de Azure, pero cuando nos ponemos con ello nos hemos encontrado diferentes problemas.

Antes de nada es importante publicar en la Web App una versión de «Debug» para que podamos tener los símbolos. Si la versión que está instalada es «Release» no podremos ejecutarla en debug.

 

 

Usar Cloud Explorer para depurar en Remoto

Una de las opciones que muchos desarrolladores recomiendan en los foros es usar el Cloud Explorer para no tener problemas con el debugger en remoto.

El Cloud Explorer es una herramienta pensada para administrar los recursos de Azure desde el Propio Visual Studio. Si no os aparece podéis activar esta ventana desde el menú Ver->Cloud Explorer

Desde dentro del Cloud Explorer podemos iniciar el Debug en remoto del Web App  (al menos en teoría). Basta con situarnos en la rama del Web App, pulsar el botón derecho y pulsar sobre Asociar depurador

En teoría,  una vez hecho esto,  pasados 10-15 segundos se debería asociar a un proceso remoto y comenzar a funcionar el debug de igual forma a cuando estamos realizando en local. En nuestro caso no hemos logrado que funcione. Siempre se quedaba en una ventana mostrando el mensaje Buscando un proceso para asociar…. , y  dejando a Visual Studio «colgado» pero a la vez dejando la Web App remota también «colgada», como si estuviera en debug  pero nadie la estuviera debugando

Tras muchas pruebas y mensajes con los ingenieros de microsoft revisando procesos en Azure, firewall local, etc. no hemos logrado hacer que funcione, por lo que suponemos que será un bug de Visual Studio 2019 16.4.5 (versión más actual a día de hoy) o del Cloud Explorer.  Siguiendo con nuestras pruebas (ya sin mucha fe, todo hay que decirlo), probamos con la opción de Depurar manualmente

 

Depurar Manualmente en Remoto

Desde el menú Depurar, debes eligir la opción Asociar al proceso.

Tendrás que introducir la url de tu Web App finalizando en :4024 (puerto utilizado por Visual Studio 2019) y te solicitará el usuario y contraseña de publicación (el usuario comenzará por $ ). Si desconoces el usuario y contraseña lo puedes obtener desde el portal de azure, desde el Perfil de Publicación de tu App Service:

Una vez introducidas las credenciales correctas, nos aparecen los procesos de donde tenemos que seleccionar el proceso que hay que asociar para depurar.

En nuestro caso es una aplicación .NET Core, por lo que hay que seleccionar Codigo Administrado (CoreCLR), y en la lista de procesos dotnet.exe. Pulsar Asociar y el debug funcionará exactamente igual que en una sesión local.

 

Leave a Reply

http://equanimity.es/wp-content/uploads/2021/12/logo-vertical-grande-blanco.png
http://equanimity.es/wp-content/uploads/2022/12/LOGO-blanco.-CLM-640x428.png
http://equanimity.es/wp-content/uploads/2023/02/cofinanciado-UE.png

Empresa beneficiaria de las subvenciones de la Junta de Comunidades de Castilla – La Mancha: Ayudas – Adelante Digitalización – para la transformación digital de las pymes de Castilla – La Mancha

Proyecto incentivado con una subvención cofinanciada por el Fondo Europeo de Desarrollo Regional.
Objetivo del proyecto: La modernización de las estrategias de comunicación y venta, y para el impulso a la actividad de comercio electrónico de las pymes

Contacta con Nosotros
hola(@)equanimity.es
925 015 280