j (Выполнение if - Else)
Команда j условно выполняет одну из указанных команд в зависимости от вычисления заданного выражения.
j Expression Command1 ; Command2
j Expression 'Command1' ; 'Command2'
Параметры
Выражение
Выражение для вычисления. Если это выражение имеет ненулевое значение, выполняется Command1 . Если это выражение имеет нулевое значение, выполняется Command2 . Дополнительные сведения о синтаксисе этого выражения см. в разделе Синтаксис числовых выражений.
Command1
Строка команды, выполняемая, если выражение в expression имеет ненулевое значение (TRUE). Можно объединить несколько команд, заключив строку команды в одинарные прямые кавычки ( ' ) и разделив команды точкой с запятой. Если командная строка является одной командой, одинарные кавычки являются необязательными.
Команда2
Строка команды, выполняемая, если выражение в expression имеет нулевое значение (FALSE). Можно объединить несколько команд, заключив строку команды в одинарные прямые кавычки ( ' ) и разделив команды точкой с запятой. Если командная строка является одной командой, одинарные кавычки являются необязательными.
Среда
Элемент | Описание |
---|---|
Режимы | Пользовательский режим, режим ядра |
Цели | Динамический аварийный дамп |
Платформы | Все |
Комментарии
После команды j нельзя добавить точку с запятой или дополнительные команды. Если точка с запятой отображается после Command2, все, что находится после точки с запятой, игнорируется.
Следующая команда отображает значение eax , если MySymbol равно нулю, а в противном случае — значения ebx и ecx .
0:000> j (MySymbol=0) 'r eax'; 'r ebx; r ecx'
Вы можете опустить одинарные кавычки вокруг r eax, но они упрощают чтение команды. Если вы хотите опустить одну из команд, можно добавить пустые кавычки или опустить параметр для этой команды, как показано в следующих командах.
0:000> j (MySymbol=0) ''; 'r ebx; r ecx'
0:000> j (MySymbol=0) ; 'r ebx; r ecx'
Вы также можете использовать команду j в других командах. Например, можно использовать команду j для создания условных точек останова.
0:000> bp `mysource.cpp:143` "j (poi(MyVar)>0n20) ''; 'gc' "
Этот стиль условной точки останова больше не рекомендуется, так как в отладчике теперь доступна более простая форма. Дополнительные сведения о синтаксисе условных точек останова см. в разделе Установка условной точки останова.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по