gh (Go с обработанной обработкой исключения)

Команда gh помечает исключение заданного потока как обработанное и позволяет потоку перезапустить выполнение в инструкции, вызвавшей исключение.

Синтаксис User-Mode

[~Thread] gh[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

Синтаксис Kernel-Mode

gh[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

Параметры

Поток
(Только в пользовательском режиме) Указывает поток для выполнения. Этот поток должен быть остановлен с помощью исключения. Дополнительные сведения о синтаксисе см. в разделе Синтаксис потока.

a
Указывает, что любая точка останова, созданная этой командой, будет точкой останова процессора (например, точкой останова, созданной ba), а не точкой останова программного обеспечения (например, точками останова, созданными bp и bm). Если параметр BreakAddress не указан, точка останова не создается, и флаг не действует.

StartAddress
Указывает адрес, с которого должно начаться выполнение. Если этот параметр не указан, отладчик передает выполнение по адресу, где возникло исключение. Дополнительные сведения о синтаксисе см. в разделе Синтаксис адресов и диапазонов адресов.

BreakAddress
Указывает адрес точки останова. Если указан параметр BreakAddress , необходимо указать адрес инструкции (то есть адрес должен содержать первый байт инструкции). Одновременно можно указать до десяти адресов останова в любом порядке. Если не удается разрешить BreakAddress , он сохраняется как неразрешенная точка останова. Дополнительные сведения о синтаксисе см. в разделе Синтаксис адресов и диапазонов адресов.

BreakCommands
Указывает одну или несколько команд, которые будут автоматически выполняться при достижении точки останова, заданной параметром BreakAddress . Параметру BreakCommands должна предшествовать точка с запятой. Если указано несколько значений BreakAddress , BreakCommands применяется ко всем из них.

Примечание Параметр BreakCommands доступен только при внедрении этой команды в командную строку, используемую другой командой, например в другой команде точки останова или в параметре или параметре события . В командной строке точка с запятой завершает команду gh , а все дополнительные команды, перечисленные после точки с запятой, будут выполняться сразу после выполнения команды gh .

Среда

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

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

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

Комментарии

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

Если указан поток , команда gh выполняется с указанным потоком, размороженным и всеми остальными замороженными. Например, если указана команда ~123gh, ~#gh или ~*gh , указанные потоки будут разморожены, а все остальные заморожены.