Tengo un problema de depuración multiproceso bastante serio. Tengo algún tipo de problema de tiempo al interactuar con un dispositivo serie, y necesito rastrearlo. Tengo tres hilos:Depuración con subprocesos en C# y vs2008
- El hilo principal de las actualizaciones de la interfaz de usuario. El usuario puede cambiar un parámetro del dispositivo, o muchos a la vez, eligiendo un ajuste preestablecido.
- El hilo de comprobación de estado que consulta para asegurarse de que el dispositivo todavía está conectado. Si el usuario apaga el dispositivo o el dispositivo se interactúa de forma interesante, los cambios de estado deben reflejarse en la IU.
- El hilo que lee el puerto serie donde responde el dispositivo.
Mi problema en realidad tiene que ver con la depuración de esta situación. Parece que cada línea que tengo en cada hilo tiene que tener un punto de interrupción para poder depurarla; si rompo un hilo, el depurador no pasará por ese hilo. Entiendo que los otros subprocesos continuarán actualizándose, pero ¿el subproceso en el que me encuentro no debería ejecutarse normalmente en el depurador, es decir, pasar de una línea a la siguiente? Entonces, podría usar la pestaña 'hilos' para alternar entre hilos.
Menciono que estoy en WPF porque no sé si eso cambia la situación; tal vez sí, tal vez no. El hilo de comprobación de estado es parte de un control de interfaz de usuario, porque el estado solo debe verificarse mientras la interfaz de usuario está activa. Ese control está en una biblioteca distinta de la aplicación principal.
Se eliminaron las referencias de WPF porque no están realmente relacionadas con WPF, solo depuración MT genérica. –
Desafortunadamente, me he dado cuenta de que el vs2008 ha comenzado a actuar muy, muy (este es solo un comportamiento problemático, otros tienen que ver con el control de fuente y con diferentes configuraciones) que ha sucedido desde que el proyecto migró a WPF. De ahí la inclusión, por si acaso. – mmr