Pregunta

ejecuto mi programa en DEBUGMODE y luego renuncié al cierre del formulario principal.

En la ventana de salida puedo ver el siguiente mensaje:

Uninit : Still Alive 1The program "[1432] App1.exe: Managed (v4.0.30319)" was ended with code 0 (0x0).

Me pregunto qué significa lo que significa "Uninit: still viva 1".

¿Alguien sabe ??? Siempre estoy realmente asustado de algo inesperado que ocurre en algún momento, y el mensaje "Todavía vivo" realmente no suena prometedor para mí.

¡Gracias por la ayuda!

¿Fue útil?

Solución

Es un mensaje de diagnóstico que se generó con OutputDebugString () . Está presente en una de las DLL en la que tiene una dependencia. El significado exacto requiere la interpretación, pero "Uninit" es corto para "ininitalizar", el tipo de cosas que sucede cuando se descarga una DLL. Y "sigue vivo 1", probablemente significaría que el programador de la DLL se me molesea, no está cerrando correctamente su componente antes de sacudir la colchoneta.

Falta el mensaje de una salida de línea ("\ n"), un error de un bonito estándar que los programadores hacen cuando usan la obutitudBugugstring.

Dos formas básicas de encontrar la DLL que hace esto. El primero es activar la depuración no administrada con el proyecto + Propiedades, la pestaña de depuración, marque la casilla de verificación "Habilitar la depuración de código nativo". La notificación de descarga DLL debe estar cerca del mensaje de diagnóstico.

Más confiable es usar el Explorador de procesos de Sysinternals. Seleccione su proceso y presione CTRL + D para enumerar las DLL, se ha cargado. Dada la calidad del mensaje, probablemente puede omitir los que tienen un copyright de Microsoft. Haga clic con el botón derecho en la DLL por uno y mire la pestaña "Cuerdas" para ver las cuerdas dentro de la DLL. Una vez que lo encuentre, debe saber quién posee ese código del nombre DLL. Pregúnteles cómo apagar correctamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top