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


gn, gN (Go с исключением не обработано)

Команды gn и gN продолжают выполнение заданного потока, не помечая исключение как обработанное. Это позволяет обработчику исключений приложения обрабатывать исключение.

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

[~Thread] gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
[~Thread] gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

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

gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

Параметры

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

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

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

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

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

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

Среда

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

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

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

Комментарии

Если отладчик не остановлен в точке останова, gn и gN ведут себя одинаково. Если отладчик остановлен в точке останова, gn не будет работать; Для выполнения этой команды необходимо указать букву N. Это мера предосторожности, так как редко бывает разумно продолжать точку останова без обработки.

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

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