Pregunta

Tal vez alguien es capaz de explicar por qué estoy teniendo excepciones no controladas al ejecutar pruebas unitarias? No se supone que el entorno para manejar todas las excepciones y acaba de establecer la prueba a fallado?

Esto puede estar relacionado con el hecho de que las pruebas unitarias están llamando código no administrado a C ++ / CLI?

Gracias de antemano.

EDIT: Solo para aclarar, el problema no está teniendo una excepción. El problema es la excepción no causa la prueba de la unidad falle y va a ejecutar la siguiente prueba de la unidad.

text alt

¿Fue útil?

Solución

No hay nada tan desagradable como una excepción AccessViolation, solamente stackoverflow es peor. Puedo distinguir la "comunicación", que el código no administrado probablemente se ejecuta en un hilo que ni el CLR ni el corredor de prueba sabe nada acerca. muy pocas opciones que hay, no hay manera de hacer un hilo de esa manera simplemente apoderarse de existir.

Es un problema de corrupción de memoria, el asignador de depuración en el CRT rellena bloques de memoria liberada con 0xfeeefeee. Eso no es kosher por cierto, sólo se debe ejecutar pruebas unitarias en la versión de lanzamiento.

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