!for_each_frame
L'estensione !for_each_frame esegue un comando del debugger una volta per ogni fotogramma nello stack del thread corrente.
!for_each_frame ["CommandString"]
!for_each_frame -?
Parametri
CommandString
Specifica i comandi del debugger da eseguire una sola volta per ogni fotogramma. Se CommandString include più comandi, è necessario separarli con punti e virgola e racchiudere CommandString tra virgolette. Se si includono più comandi, i singoli comandi all'interno di CommandString non possono contenere virgolette. Se si desidera fare riferimento all'indice del frame corrente all'interno di CommandString, usare lo pseudoregister @$frame.
-?
Visualizza il testo della Guida per questa estensione nella finestra Del comando del debugger.
DLL
Ext.dll
Informazioni aggiuntive
Per altre informazioni sul contesto locale, vedere Modifica dei contesti.
Osservazioni:
Se non si specificano argomenti, l'estensione !for_each_frame visualizza un elenco di tutti i fotogrammi e i relativi indici di frame. Per un elenco più dettagliato di tutti i fotogrammi, usare il comando k (Display Stack Backtrace).
Il comando k guida fino a 256 fotogrammi. Per ogni frame enumerato, tale frame diventa temporaneamente il contesto locale corrente (simile al comando .frame (Imposta contesto locale). Dopo aver impostato il contesto, CommandString viene eseguito. Dopo aver usato tutti i fotogrammi, il contesto locale viene reimpostato sul valore precedente all'uso dell'estensione !for_each_frame .
Se si include CommandString, il debugger visualizza il frame e il relativo indice prima dell'esecuzione del comando per tale frame.
Il comando seguente visualizza tutte le variabili locali per lo stack corrente.
!for_each_frame !for_each_local dt @#Local