c# - una - la depuración de scripts de chrome en visual studio está habilitada
Habilitar y deshabilitar la depuración de "Paso a Paso" en cierto proyecto en una solución de Visual Studio (7)
Debe asegurarse de que los proyectos de soporte tengan archivos pdb o, de lo contrario, Visual Studio no tendrá la información necesaria para recorrer el código.
Tengo una solución de Visual Studio con cuatro proyectos de C #. Quiero entrar en el código de un proyecto de soporte en la solución de mi proyecto principal, pero cuando uso la tecla "Entrar en", simplemente se salta la llamada a ese otro proyecto. Establecí puntos de corte en el proyecto de soporte, y son ignorados, y no puedo por mi propia experiencia hacer que ingrese referencias a ese proyecto.
Todo está configurado para compilarse como "Depurar", y he visto que Visual Studio me advirtió que mis puntos de ruptura no se verán afectados anteriormente, en este caso no hace eso. Es como si pareciera que mi código depurará, pero luego en el tiempo de ejecución, hay una configuración en algún lugar que le dice a Visual Studio que no pase por el código en ese proyecto. Todos los otros proyectos en mis soluciones se depuran sin problemas.
¿Qué casilla he marcado para causar este comportamiento?
ACTUALIZACIÓN DE CLARIDAD : la opción "Solo mi código" está actualmente desactivada. Además, dado que el código pertenece a un proyecto en mi misma solución, no creo que la opción "Solo mi código" se aplique aquí. Pensé que solo se aplicaba al código precompilado para el que no tenía la fuente, pero como tengo la fuente en mi proyecto, no creo que esta opción tenga ningún efecto.
No estoy seguro si esto es así, pero "Herramientas> Opciones> Depuración> General: Habilitar solo mi código" es una posibilidad. (Prefiero siempre dejar esto sin marcar).
Resultó que el ensamblaje debía copiarse en el GAC antes de que pudiera depurarse. Debajo de la opción de depuración "Solo mi código", hay una opción para suprimir un error si no tiene ningún código de usuario, y estaba suprimiendo el siguiente error:
El siguiente dispositivo móvil se creó con optimizaciones habilitadas o sin información de depuración. (Nombre del módulo y ruta) Para depurar este módulo, cambie su configuración de compilación al modo de depuración.
Como estaba compilando en la configuración de depuración, busqué en ese mensaje de error y obtuve esto:
Problema resuelto. No sé por qué tiene que estar en el GAC para poder ingresar al proyecto, pero lo hace. No pregunto por qué, solo pregunto cómo, y luego lo hago ...
Un par de posibilidades:
Hay una casilla de verificación para ingresar a "solo mi código". Su intención es hacer que no pueda entrar en el código de Framework de Microsoft (a menos que lo desee desmarcando la casilla).
Puede intentar recompilar el código de soporte para asegurarse de que el código que está depurando coincida exactamente con el archivo de código que está viendo. A VS le importa esto y desactivará un punto de interrupción si lo coloca en el archivo de código cuya versión no coincide. Además, asegúrese de que el archivo PDB esté en el mismo directorio que el archivo DLL.
Una cosa que debe verificar es que su ensamblado de proyecto de soporte no se haya instalado en el GAC. Abra un símbolo del sistema y ejecute lo siguiente para asegurarse de ...
gacutil / l assemblyName
Si tiene el código fuente de la dll en la que intenta ingresar, haga lo siguiente:
- Haga clic en el proyecto en el que se agregan estos dll como referencia y elimínelos.
- Agregue los proyectos correspondientes a los dll (s) a la solución
- Haga clic derecho en el proyecto -> Agregar referencia -> Elija los proyectos recién agregados.
Ahora configure el punto de corte y depure el código. Podrá acceder al código.
La razón del problema se debe a que su programa todavía hace referencia al dll anterior (sin el código fuente) ya que se ha agregado a su proyecto como referencia. Una vez que elimine ese dll y agregue el Proyecto (Código fuente del dll) del dll, Visual Studio podrá ingresar a su código.
En Visual Studio 2013, una forma de provocar este comportamiento es establecer la configuración de compilación en Release
.
Póngalo nuevamente en Debug
y vea si eso ayuda.