2012-06-26 21 views
9

He escrito un programa en VC++ que tiene un comportamiento diferente en varios casos de la siguiente manera.¿Qué es diferente entre visual studio F5, ctrl + F5 o ejecutándose fuera de visual studio?

Cuando lo ejecuto F5 funciona correctamente en modo de lanzamiento.

Cuando lo ejecuto ctrl + F5 se bloquea cuando comienzo a enviar datos al programa.

Fuera de Visual Studio se bloquea inmediatamente.

No sé cómo encontrar el error. Cualquier idea en ¿qué hay de diferente entre estos casos?

+2

La razón habitual es una variable no inicializada que obtiene diferentes valores aleatorios según cómo se inicie el programa. –

+0

esto depende del medio ambiente var? cómo puedo rastrear el error. –

+0

También podría depender del medio ambiente. O que comienza en diferentes directorios (si usa algún archivo). De lo contrario, podría tener algo como 'int i;', donde 'i' se usa antes de que se le asigne un valor. –

Respuesta

5

Necesita entender la diferencia entre ejecutar una aplicación en modo de depuración y modo de lanzamiento. F5 generalmente lo ayudará a depurar la aplicación y ctrl + F5 ejecutará la aplicación. Puede haber algunos problemas en el modo de lanzamiento que hace que su vs se bloquee. Lee this para entender.

+0

gracias, pero mi pregunta es sobre el modo de liberación alguna vez en modo de lanzamiento aplastado (F5 + ctrl) o fuera de VC y por F5 trabajan peroperly. –

+0

@herzlshemuelian: está intentando depurar en modo de lanzamiento – Jeeva

+0

porque esto sucede solo en el modo de lanzamiento (ctrl + F5 y no en F5) Tengo que hacerlo. –

Cuestiones relacionadas