!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