!for_each_frame

Расширение !for_each_frame выполняет команду отладчика один раз для каждого кадра в стеке текущего потока.

!for_each_frame ["CommandString"] 
!for_each_frame -?

Параметры

CommandString
Указывает команды отладчика для выполнения по одному разу для каждого кадра. Если CommandString содержит несколько команд, их необходимо разделить точкой с запятой и заключить CommandString в кавычки. Если включить несколько команд, отдельные команды в CommandString не могут содержать кавычки. Если вы хотите ссылаться на индекс текущего кадра в CommandString, используйте псевдорегистр @$frame.

-?
Отображает текст справки для этого расширения в окне команды отладчика.

DLL-библиотеки

Ext.dll

Дополнительная информация

Дополнительные сведения о локальном контексте см. в разделе "Изменение контекстов".

Замечания

Если аргументы не указаны, расширение !for_each_frame отображает список всех кадров и их индексов кадров. Чтобы получить более подробный список всех кадров, используйте команду k (Display Stack Backtrace).

Команда k проходит до 256 кадров. Для каждого перечисленного кадра этот кадр временно становится текущим локальным контекстом (аналогично команде .frame (Set Local Context). После установки контекста выполняется CommandString . После того как все кадры были использованы, локальный контекст сбрасывается на значение, которое оно было до использования расширения !for_each_frame .

Если включить CommandString, отладчик отображает кадр и его индекс перед выполнением команды для этого кадра.

Следующая команда отображает все локальные переменные для текущего стека.

!for_each_frame !for_each_local dt @#Local