2011-04-26 9 views
5

Si voy a depurar -> Iniciar sin depurar mi aplicación WPF funciona bien, pero si voy a depurar -> Iniciar la depuración, la interfaz de usuario desaparecerá y estará en la ventana de salida en Depurar :La interfaz de usuario de WPF se bloquea solo al depurar

El programa '[6744] UI.exe: Managed (v4.0.30319)' ha salido con el código de -1073740791 (0xc0000409)

No se lanzan excepciones ni nada. ¿Por qué podría suceder esto? Estoy usando la biblioteca Prism así que no estoy seguro de si está relacionado con eso.

Puedo depurar sin fallas si adjunto el depurador al proceso manualmente.

+1

Lo que sucede cuando se realiza la depuración -> Iniciar sin depuración y luego se conecta al proceso que desea depurar (Depurar-> Adjuntar al proceso o algo así). ¿Se puede depurar entonces? – Skrymsli

+2

Tiene un desbordamiento de pila de acuerdo con [esto] (http: //www.febooti.com/products/automation-workshop/online-help/events/run-dos-cmd-command/exit-codes /) – jfs

+0

@Skrymsli que parece funcionar para permitir la depuración. – user404068

Respuesta

0

Probablemente tenga una excepción de corrupción de montón durante las inicializaciones de objetos (stackoverflow o una condición arbitraria de falta de memoria). Esto es causado principalmente por métodos P/Invoke u otro código inseguro. Si no está utilizando ningún código inseguro, consulte las bibliotecas de terceros que está utilizando como fuente de error.

1

En mi caso, tengo el mismo problema. Cuando cambié el "Nombre del ensamblado" a, en el máximo de 42 caracteres, mi aplicación era compilación ...

Pensé que es una locura, pero funciona.

0

Si está utilizando PRISM, pueden producirse algunos errores si alguno de los Contenedores (configurado como región) tiene contenido. Todas las regiones deben ser controles de contenedor vacíos o controles de elementos vacíos.

Prism tiene una configuración diferente para el modo de depuración y liberación que puede ser un motivo. Intente analizar línea por línea Sus archivos de código XAML donde tiene controles de regiones y verifique si las etiquetas están vacías. La mejor manera de asegurarse de que los contenedores estén vacíos es crear versiones de etiquetas cortas

, por ejemplo, probar este

<ContentControl /> 

en lugar de esta

<ContentControl></ContentControl> 
0

Tengo un problema similar en mi aplicación multi-threading. Estaba tratando de encontrar la solución pero no tuve éxito. Si su aplicación utiliza sime tipo de multi threading, el problema puede estar en ello. Compruebe que su UI se ejecuta en el mismo subproceso con el hilo principal ...

+0

Esto es más un comentario que una respuesta y es probable que no ayude a nadie que no sea el OP. Tal vez si se expandió en la idea de demo o dio una manera de confirmar o descartar este problema. –

0

Este problema podría deberse a la utilidad Microsoft EMET (Enhanced Mitigation Experience Toolkit) (http://support.microsoft.com/kb/2458544) si tiene tal instalado.

Compruebe el registro de eventos de la aplicación para detectar errores como "Nombre de la aplicación: UI.exe. EMET detectó la mitigación del EAF y cerrará la aplicación: UI.exe".

Si usted tiene este tipo de errores - intenta configurar o simplemente desinstalar EMET :-)

0

que tenía el mismo problema, han cambiado "Destino de la plataforma" de x86 a "Cualquier CPU" y funciona bien. Pero solo para VS2010, no para VS2013

Cuestiones relacionadas