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


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

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

Синтаксис пользовательского режима

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

Синтаксис режима ядра

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 .

Среда

Позиция Description
Режимы режим пользователя, режим ядра
Целевые объекты только динамическая отладка
Платформы all

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

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

Замечания

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

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

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