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 , указанные потоки будут разморожены, а все остальные заморожены.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по