2012-09-13 21 views
47

Al depurar mi aplicación C#, he notado una gran cantidad de apariciones de la siguiente oración: "El hilo ha salido con el código 0 (0x0)". La aplicación continúa funcionando y no hay excepción atrapada/sin intervención.El hilo ha salido con el código 0 (0x0) sin excepción sin sentido

La aplicación se ejecuta en Windows 7 64bit y se depuró con la plataforma x86.

+1

¿Seguro esas son sus hilos? Si es así, ¿no esperas que terminen? – SLaks

Respuesta

63

Esto es solo un mensaje de depuración. Puede desactivarlo haciendo clic derecho en la ventana de salida y desmarcar el mensaje finalizado.

http://msdn.microsoft.com/en-us/library/bs4c1wda.aspx

Además del programa a partir de su aplicación, la salida ventana puede mostrar la información sobre: ​​

  • módulos del depurador ha cargado o descargado.

  • Excepciones que se lanzan.

  • Procesos que salen.

  • Temas que salen.

2

si su aplicación utiliza subprocesos directa o indirectamente (es decir, detrás de la escena como en una biblioteca de terceros) es absolutamente común que los hilos terminen después de que terminen ... que es básicamente lo que usted describe ... el El depurador muestra este mensaje ... puede configurar el depurador para que no muestre este mensaje si no lo quiere ...

Si lo anterior no ayuda, proporcione más detalles ya que no estoy seguro de qué es exactamente problema es que se enfrenta ...

5

Bueno, una aplicación puede tener una gran cantidad de subprocesos en paralelo. Algunos son ejecutados por usted, el codificador, algunos son ejecutados por clases de framework (especialmente si se encuentra en un entorno GUI).

Cuando un hilo ha terminado su tarea, se cierra y deja de existir. No hay nada alarmante en esto y no debería importarle.

+0

Los hilos de los que he hablado no son míos (o no pertenecen a mi aplicación). Sin embargo, mi aplicación necesita conectarse a un servidor Linux AIX que retorna con una gran cantidad de procesos difuntos. No tengo una idea clara sobre este servidor funciona (y cuáles son sus tareas), pero supongo que los hilos antes mencionados podrían afectar el comportamiento del servidor. – Gionata

+0

Bueno, tal vez los hilos realmente impactan su aplicación, pero el mensaje que recibe le dice que terminan exitosamente. Por lo tanto, podría intentar y encontrar por qué se ejecutan (Debug menu => windows => threads), pero esto es normal. – Kek

+0

Terminan normalmente, pero los procesos inactivos del servidor de Linux podrían ser un efecto secundario de los hilos de .net framework. Tal vez la aplicación tiene varios errores de programación en la implementación de subprocesos múltiples. ¿Es posible? – Gionata

1

El marco crea hilos para apoyar cada ventana que cree, por ejemplo, como cuando se crea un formulario y .Show() de ella. Cuando se cierran las ventanas, los hilos terminan (es decir, salen).

Esto es comportamiento normal. Sin embargo, si la aplicación está creando subprocesos, y hay muchos mensajes de salida de subprocesos correspondientes a estos subprocesos (uno podría decir posiblemente por los nombres del subproceso, dándoles nombres distintos en la aplicación), entonces tal vez esto es indicativo de un problema con la aplicación creando subprocesos cuando no debería, debido a un error de lógica de programa.

Sería una continuación interesante tener el cartel original nos dejó saber lo que descubrió con respecto a los problemas con el bloqueo del servidor. Tengo la sensación de que no tendría nada que ver con esto ... pero es difícil de decir a partir de la información publicada.

3

Con el fin de completar respuesta aceptada de BLUEM, puede desactivarlo aquí:

Herramientas> Opciones> Depuración> Ajustes de salida general> secuencia Mensajes de salida: Off

+0

La respuesta aceptada de BlueM tiene una solución más simple: _ "Puede desactivarla haciendo clic con el botón derecho en la ventana de salida y desmarcar el mensaje finalizado" _ –

Cuestiones relacionadas