Поделиться через


!for_each_local

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

!for_each_local ["CommandString"] 
!for_each_local -? 

Параметры

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

В CommandString или в любом скрипте, который выполняются команды в CommandString, можно использовать псевдоним @#Local. Этот псевдоним заменяется именем локальной переменной. Эта замена возникает перед выполнением CommandString и перед выполнением любого другого синтаксического анализа. Этот псевдоним учитывает регистр, и необходимо добавить пробел перед ним и добавить пробел после него, даже если псевдоним заключен в скобки. При использовании синтаксиса выражений C++ необходимо ссылаться на этот псевдоним как @@( @#Local ).

Этот псевдоним доступен только в течение времени существования вызова !for_each_local. Не путайте этот псевдоним с псевдорегистрацией, псевдонимами фиксированного имени или псевдонимами с именем пользователя.

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

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

Ext.dll

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

Дополнительные сведения о том, как отображать и изменять локальные переменные и описание других команд, связанных с памятью, см. в разделе "Чтение и запись памяти".

Замечания

Если аргументы не указаны, расширение !for_each_local перечисляет локальные переменные. Дополнительные сведения о локальных переменных используйте команду dv (Display Local Variables).

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