las - propagacion de excepciones c#
Excepción no controlada visual en Debugger:: HandleIPCEvent cuando se rompe en cierto punto de interrupción (3)
Obtengo la siguiente excepción (en holandés, la traducción al inglés sigue en el texto) que rompe mi depurador cuando presiono ''Aceptar'' para la sesión de depuración y cierra la aplicación:
Traducido en texto:
---------------------------
LerTemperaturaWPF.vshost.exe - Application Error
---------------------------
INTERNAL ERROR:
Unhandled exception in Debugger::HandleIPCEvent.
Event ID=0x246.
Exception code=0xc0000005, Eip=0x68fbaeca.
Process ID=0x1094 (4244), Thread ID=0x10a4 (4260).
---------------------------
OK
---------------------------
Esto sucede si la primera vez que el depurador se rompe se encuentra dentro de un determinado fragmento de código:
private void PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
// Set value of property, only when the long editor is selected (no optionlist item is selected)
if (this.Editor.SelectedItem != null)
{
if (this.Editor.SelectedItem as OptionForList == null)
{
this.Editor.SelectedValue = ((Management.Property)this.Editor.SelectedItem).Value;
this.Editor.SelectedIndex = 0;
}
}
}
Sucede cuando coloco el punto de interrupción dentro de la declaración 2nd if, antes de la segunda declaración if (donde sea que la coloque). No me da problemas.
Si me aseguro de que la primera interrupción que tiene el depurador es anterior a este código y luego llega a un punto de interrupción en este código, tampoco hay problemas. El depurador debe haberse roto antes de llegar a este código. Ahora no creo que tenga nada que ver con este código (90% seguro).
La propiedad modificada es un control de usuario y de alguna manera creo que el depurador no puede manejar el control del usuario correctamente. ¿tal vez?
¿Alguien ha visto este comportamiento antes y sabe cómo solucionarlo? ¿Tengo que desactivar (o activar) algunas de las configuraciones de depuración?
(1) En el menú Depurar-> Windows-> Excepciones, y habilite todas las casillas lanzadas. Depure la aplicación, le mostrará los errores reales y detallados en un cuadro de mensaje.
(2) Haga clic con el botón derecho en el proyecto / solución -> Propiedades -> Depurar -> Desmarque "Habilitar el proceso de alojamiento de Visual Studio".
(3) Cambie también el objetivo de la plataforma (X86 / Any CPU / X64), vuelva a compilar la aplicación y vuelva a depurarla.
(4) Herramientas> Opciones> Depuración> General> "Usar modo de compatibilidad administrado".
Haga clic derecho en el proyecto / solución -> Propiedades -> Depurar -> Marque "Habilitar la depuración del código nativo".
Todas las respuestas descritas aquí no garantizan una curación del 100%. Lo que estoy haciendo como solución alternativa es pasar a la siguiente línea mientras se depura. Después de eso puedo ver el valor de esa variable en el reloj con el mouse sobre el mouse. (En mi caso, pasar a la siguiente línea no cambia el valor)