Condividi tramite


Pseudo variabili

Le pseudo variabili sono termini usati per visualizzare determinate informazioni in una finestra delle variabili o nella finestra di dialogo Controllo immediato. È possibile immettere una pseudo variabile in modo analogo all'immissione di una variabile normale. Tuttavia, le pseudo variabili non sono variabili e non corrispondono a nomi di variabili presenti nel programma.

Esempio

Si supponga di scrivere un'applicazione in codice nativo e di voler visualizzare il numero di handle allocati nell'applicazione. Nella finestra Espressioni di controllo, è possibile immettere la seguente pseudo variabile nella colonna Nome, quindi premere Invio per valutarla:

$handles

In codice nativo, è possibile usare le pseudo variabili riportate nella seguente tabella:

Pseudo variabile

Funzione

$err

Visualizza l'ultimo set di valori di errore con la funzione SetLastError. Il valore visualizzato rappresenta ciò che viene restituito dalla funzione GetLastError.

Usare $err,hr per vedere il formato decodificato di questo valore. Ad esempio, se l'ultimo errore era 3, $err,hr visualizza ERROR_PATH_NOT_FOUND : The system cannot find the path specified.

$handles

Consente di visualizzare il numero di handle allocati nell'applicazione.

$vframe

Consente di visualizzare l'indirizzo dello stack frame corrente.

$tid

Consente di visualizzare l'ID del thread corrente.

$env

Visualizza il blocco di ambiente nel visualizzatore stringhe.

$cmdline

Visualizza la stringa della riga di comando che ha avviato il programma.

$pid

Visualizza l'ID del processo.

$registername

oppure

@registername

Visualizza i contenuti del registro registername.

In genere, è possibile visualizzare il contenuto del registro immettendone semplicemente il nome. È necessario usare questa sintassi unicamente quando il nome del registro esegue l'overload di un nome di variabile. Se il nome del registro è uguale a un nome di variabile nell'ambito corrente, il debugger lo interpreta come nome di variabile. In questo caso, è opportuno usare $registername o @registername.

$clk

Consente di visualizzare il tempo in cicli di orologio.

$user

Consente di visualizzare una struttura con le informazioni sull'account in cui viene eseguita l'applicazione. Per motivi di sicurezza non vengono visualizzate informazioni sulla password.

$exceptionstack

Visualizza la traccia dello stack dell'eccezione corrente di Windows Runtime. $ exceptionstack funziona solo nelle applicazioni di Windows Store in esecuzione su Windows 8.1 o versioni successive. $ exceptionstack non è supportata per eccezioni C++ e SHE

$ReturnValue

Visualizza il valore restituito di un metodo .NET Framework. Vedere Esaminare i valori restituiti dalle chiamate di metodo

In C# e Visual Basic, è possibile usare le pseudo variabili riportate nella seguente tabella:

Pseudo variabile

Funzione

$exception

Visualizza informazioni sull'ultima eccezione. Se non si è verificata alcuna eccezione, la valutazione di $exception produce un messaggio di errore.

Solo in Visual C#, quando le Informazioni sulle eccezioni sono disattivate, $exception viene automaticamente aggiunto alla finestra Variabili locali quando si verifica un'eccezione.

$user

Consente di visualizzare una struttura con le informazioni sull'account in cui viene eseguita l'applicazione. Per motivi di sicurezza non vengono visualizzate informazioni sulla password.

In Visual Basic, è possibile usare le pseudo variabili riportate nella tabella seguente:

Pseudo variabile

Funzione

$delete oppure $$delete

Elimina una variabile implicita creata nella finestra Immediata. La sintassi è $delete, variable o $delete, variable.

$objectids oppure $listobjectids

Visualizza tutti gli ID oggetto attivi come figli dell'espressione specificata. La sintassi è $objectid, expression o $listobjectids, expression.

$N#

Visualizza l'oggetto con ID dell'oggetto uguale a N.

$dynamic

Visualizza il nodo Visualizzazione dinamica speciale per un oggetto che implementa IDynamicMetaObjectProvider. Interfaccia. La sintassi è $dynamic, object. Questa funzionalità si applica solo al codice che usa .NET Framework versione 4. Vedere Visualizzazione dinamica.

Vedere anche

Attività

Procedura: controllare un'espressione nel debugger

Altre risorse

Finestre delle variabili