89 votos

¿Qué es un código de salida del hilo de rosca

Entonces, ¿qué es un código de salida del hilo de rosca en la ventana de salida durante la depuración? ¿Qué información me da? ¿Es de alguna manera útil o sólo una cosas internas que no deberían molestarme?

The thread 0x552c has exited with code 259 (0x103).
The thread 0x4440 has exited with code 0 (0x0).

¿Tal vez hay una especie de lista de códigos de salida posible junto con su significado?

80voto

Sayse Puntos 9275

Allí, en realidad, no parece ser un montón de explicaciones sobre este tema al parecer, pero los códigos de salida que se supone que se utiliza para dar una indicación de cómo el hilo se sale, 0 tiende a significar que salió de forma segura, mientras que cualquier otra cosa tiende a decir que las cosas no sale como se esperaba. Pero luego esta el código de salida puede ser establecido en el código por ti mismo completamente por alto.

El eslabón más cercano podría ser útil para más información de este

Cita de enlace de arriba:

Lo que alguna vez el método de salida, el número entero que regrese de su proceso o subproceso deben ser valores de 0 a 255(8bits). Un valor cero indica que el éxito, mientras que un valor distinto de cero indica un fracaso. Aunque, puede intentar devolver cualquier valor entero como un código de salida, sólo el byte más bajo de la entero se volvió de su proceso o subproceso, como parte de un código de salida. El superior de la orden de bytes utilizados por el sistema operativo para transmitir información especial sobre el proceso. El código de salida es muy útil en lotes/programas de shell que condicionalmente ejecutar otros programas dependiendo del éxito o el fracaso de uno.


A partir de la Documentación para GetEXitCodeThread

Importante El GetExitCodeThread función devuelve un válido el código de error definido por la aplicación sólo después de que el subproceso termina. Por lo tanto, una aplicación no debe usar STILL_ACTIVE (259) como un código de error. Si un hilo devuelve STILL_ACTIVE (259) como un código de error, las aplicaciones que probar este valor podría interpretar esto significa que el hilo sigue funcionando y seguir con la prueba para la realización de un hilo después de que el hilo se ha terminado, lo que podría poner la aplicación en un bucle infinito.


Mi comprensión de todo esto es que el código de salida no importa mucho si está utilizando dentro de los hilos de su propia aplicación para su propia aplicación. La excepción a esto es posible si está ejecutando un par de hilos al mismo tiempo que tienen una dependencia en cada uno de los otros. Si existe un requisito para una fuente externa para leer este código de error, entonces se puede establecer que para permitir que otras aplicaciones de conocer el estado de tu hilo.

44voto

Kristian Williams Puntos 431

Como Sayse mencionado, salida código 259 (0x103) tiene un significado especial, en este caso aún se está ejecutando el proceso que se está depurando.

Lo vi mucho con depuración de servicios web, porque el hilo continúa funcionando después de ejecutar cada llamada al servicio web (como lo está escuchando todavía más llamadas).

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: