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


gc (перейти из условной точки останова)

Команда gc возобновляет выполнение из условной точки останова тем же образом, который использовался для попадания в точку останова (пошаговое выполнение, трассировка или свободное выполнение). Это относится только к более старому стилю условных точек останова с использованием "j (условие) ..." выражение style, а не простая условная точка останова в стиле "/w". Дополнительные сведения см. в статье Настройка условной точки останова.

gc

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

bp module!myFunction ".echo myFunction executed; gc"

Если вместо этого использовалась обычная команда "g", программа продолжит выполнение при пошаговом выполнении "myFunction", а не просто печатает сообщение и продолжает операцию шага.

Среда

Элемент Описание
Режимы пользовательский режим, режим ядра
Цели Только динамическая отладка
Платформы все

Дополнительные сведения

Общие сведения о связанных командах см. в разделе Управление целевым объектом.

Комментарии

При условной точке останова с использованием "j (условие) ..." expression включает в себя команду выполнения в конце, это должна быть команда gc .

Например, ниже приведен пример условной точки останова.

0:000> bp Address "j (Condition) 'OptionalCommands'; 'gc' " 

Если эта точка останова обнаружена и выражение имеет значение false, выполнение будет возобновлено с использованием того же типа выполнения, который использовался ранее. Например, если вы использовали команду g (Go) для достижения этой точки останова, выполнение будет свободно возобновлено. Но если вы достигли этой точки останова при пошаговом выполнении или трассировке, выполнение будет возобновлено с шагом или трассировкой.

С другой стороны, ниже приведена неправильная формулировка точки останова, так как выполнение всегда будет свободно возобновляться, даже если вы были шагами перед достижением точки останова:

0:000> bp Address "j (Condition) 'OptionalCommands'; 'g' "