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


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' "

Этот стиль условной точки останова больше не рекомендуется, так как в отладчике теперь доступна более простая форма. Дополнительные сведения о синтаксисе условных точек останова см. в разделе Установка условной точки останова.

См. также

z (выполнить время)