2012-06-26 15 views
9

Ho scritto un programma in vC++ che ha un comportamento diverso in vari casi come di seguito.Cosa c'è di diverso tra visual studio F5, ctrl + F5 o esecuzione all'esterno di Visual Studio?

Quando lo eseguo da F5 funziona correttamente in modalità di rilascio.

Quando lo eseguo con ctrl + F5 si blocca quando inizio a inviare dati al programma.

Al di fuori dello studio visivo si blocca immediatamente.

Non so come trovare il bug. Qualche idea su cosa c'è di diverso tra questi casi?

+2

Il solito motivo è una variabile non inizializzata che ottiene valori casuali diversi a seconda di come il programma viene avviato. –

+0

questo dipende da envirment var? come posso rintracciare il bug. –

+0

Potrebbe dipendere anche dall'ambiente. O che inizia in diverse directory (se usi qualche file). Altrimenti potresti avere qualcosa come "int i;", dove "i" viene usato prima di essere assegnato ad un valore. –

risposta

5

È necessario comprendere la differenza tra l'esecuzione di un'applicazione in modalità di debug e modalità di rilascio. F5 generalmente ti aiuterà a eseguire il debug dell'applicazione e ctrl + F5 eseguirà l'applicazione. Potrebbero esserci alcuni problemi nella modalità di rilascio che rende il tuo vs in crash. Leggi this per avere un'idea.

+0

grazie, ma la mia domanda riguarda la modalità di rilascio da qualche tempo in modalità di rilascio frantumata (F5 + ctrl) o fuori VC e da F5 funziona in modo per -uso. –

+0

@herzlshemuelian: stai provando a eseguire il debug in modalità di rilascio – Jeeva

+0

perché questo è successo solo in modalità di rilascio (ctrl + F5 e non in F5). Devo farlo. –

Problemi correlati