Domanda

La Finestra Immediata è uno strumento estremamente utile strumento per il debug delle applicazioni.Esso può essere utilizzato per eseguire istruzioni di codice che sono validi nel contesto di un break-point e controllare i valori.Lo uso anche per il tipo di frammenti di codice per imparare le caratteristiche dei linguaggi.

Come si fa a utilizzare la Finestra Immediata?

È stato utile?

Soluzione

Una caratteristica della finestra immediata in Visual Studio è la sua capacità di valutare il valore di ritorno di un metodo particolarmente se viene chiamato dal codice client, ma è non parte di un assegnamento di variabile. In modalità di debug, come detto, è possibile interagire con le variabili ed eseguire le espressioni nella memoria, che svolge un ruolo importante nel riuscire a fare questo.

Ad esempio, se si ha un metodo statico che restituisce la somma di due numeri come ad esempio:

private static int GetSum(int a, int b)
{
    return a + b;
}

Poi, nella finestra immediata è possibile digitare il seguente:

? GetSum(2, 4)
6

Come si può vedere, questo funziona davvero bene per i metodi statici. Tuttavia, se il metodo è non statico quindi è necessario interagire con un riferimento all'oggetto il metodo appartiene.

Per esempio, diciamo che questo è ciò che la classe appare come:

private class Foo
{
    public string GetMessage()
    {
        return "hello";
    }
}

Se l'oggetto esiste già in memoria ed è di portata, allora si può chiamare nella finestra immediata fintanto che è stata creata un'istanza prima il punto di interruzione corrente (o, almeno, prima ovunque il codice è in pausa in modalità debug):

? foo.GetMessage(); // object ‘foo’ already exists
"hello"

Inoltre, se si desidera interagire e testare il metodo direttamente senza fare affidamento su un'istanza esistente in memoria, quindi è possibile creare un'istanza il tuo proprio istanza nella finestra immediata:

? Foo foo = new Foo(); // new instance of ‘Foo’
{temp.Program.Foo}
? foo.GetMessage()
"hello"

Si può prendere un ulteriore passo avanti e assegnare temporaneamente i risultati del metodo alle variabili se si vuole fare ulteriori valutazioni, calcoli, ecc.

? string msg = foo.GetMessage();
"hello"
? msg + " there!"
"hello there!"

Inoltre, se non vuoi nemmeno dichiarare un nome di variabile per un nuovo oggetto e desidera solo per eseguire uno dei suoi metodi / funzioni poi fare questo:

? new Foo().GetMessage()
"hello" 

Un modo molto comune vedere il valore di un metodo è quello di selezionare il nome del metodo di una classe e fare un ‘Aggiungere Watch’ così che si può vedere il suo valore corrente nella finestra di controllo. Tuttavia, ancora una volta, l'oggetto deve essere istanziata e portata per un valore valido da visualizzare. Questo è molto meno potente e più restrittiva rispetto all'utilizzo finestra immediata.

Con i metodi controllo, si può fare semplici equazioni matematiche:

? 5 * 6
30

o confrontare i valori:

? 5==6
false
? 6==6
true

Il punto interrogativo ( '?') Non è necessaria se si è in direttamente nella finestra immediata, ma è incluso qui per chiarezza (per distinguere tra la digitato nelle espressioni contro i risultati.) Tuttavia, se si è in Command finestra e necessità di fare alcune cose rapido nella finestra immediata poi precedere le sue dichiarazioni con '?' e il gioco è fatto.

Intellisense lavora nella finestra immediata , ma a volte può essere un po 'incoerente. Nella mia esperienza, sembra essere disponibile solo in modalità debug, ma non nel design, la modalità non-debug.

Purtroppo, un altro inconveniente della finestra immediata è che non supporta cicli.

Altri suggerimenti

Utilizzare la finestra immediata per eseguire i comandi

La finestra immediata può essere utilizzato anche per eseguire i comandi. Basta digitare un > seguito dal comando.

 entrare descrizione dell'immagine qui

Per esempio >shell cmd inizierà una shell di comando (questo può essere utile per verificare quali variabili ambiente sono stati passati a Visual Studio, per esempio). >cls cancellerà lo schermo.

Ecco una lista di comandi che sono così di uso comune che hanno i loro pseudonimi: https://msdn.microsoft.com/en-us/library/c3a0kd3x.aspx

La finestra Immediata viene utilizzato per eseguire il debug e valutare le espressioni, l'esecuzione di istruzioni, stampare i valori delle variabili e così via.Esso consente di inserire espressioni da valutare o eseguito dal linguaggio di sviluppo durante il debug.

Per visualizzare la Finestra Immediata, scegliere Debug >Windows >Immediato o premere Ctrl-Alt-I

enter image description here

Ecco un esempio con Finestra Immediata:

int Sum(int x, int y) { return (x + y);}
void main(){
int a, b, c;
a = 5;
b = 7;
c = Sum(a, b);
char temp = getchar();}

aggiungi punto di interruzione

enter image description here

comandi di chiamata

enter image description here

https://msdn.microsoft.com/en-us/library/f177hahy.aspx

Io lo uso meno oggi rispetto al passato. A volte è utile per cambiare il valore di una variabile, o ispezionare oggetti. Che può essere fatto attraverso la finestra di controllo troppo, così ho tendono ad usare quella più spesso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top