Ivan Paniagua Monroy {Blog about BI, SQL, Azure & Microsoft.NET Technologies}

Archivo para julio, 2009

Problemas de Depuracion

Mientras se depuraba una aplicación escrita en C#, se genera el siguiente error, de Contexto “ContextSwitchDeadlock”.

El proceso espera a la carga de un archivo en txt.

Se detectó ContextSwitchDeadlock

Message: El CLR no ha podido realizar la transición del contexto COM 0x39be68 al contexto COM 0x39bfd8 durante 60 segundos. Es probable que el subproceso que contiene el contexto o apartamento de destino esté en espera sin proporcionar mensajes o que procese una operación de ejecución muy larga que no proporcione mensajes Windows. Normalmente, esta situación tiene un impacto negativo en el rendimiento y puede hacer que la aplicación no responda o que acumule continuamente el uso de la memoria. Para evitar este problema, todos los subprocesos de apartamentos de un único subproceso (STA) deberían utilizar primitivos de espera que proporcionen mensajes (como CoWaitForMultipleHandles) y proporcionar mensajes regularmente durante operaciones de ejecución largas.

Para solucionarlo siga las opciones Debug -> Exceptions -> Managed Debug Assistants