j(Execute If - Else)
j 명령은 지정된 식의 평가에 따라 지정된 명령 중 하나를 조건부로 실행합니다.
j Expression Command1 ; Command2
j Expression 'Command1' ; 'Command2'
매개 변수
식
계산할 식입니다. 이 식이 0이 아닌 값 으로 계산되면 Command1 이 실행됩니다. 이 식이 0 으로 평가되면 Command2 가 실행됩니다. 이 식의 구문에 대한 자세한 내용은 숫자 식 구문을 참조 하세요.
Command1
Expression의 식이 0이 아닌 값(TRUE)으로 계산되는 경우 실행할 명령 문자열입니다. 명령 문자열을 작은따옴표( ' )로 둘러싸고 세미콜론을 사용하여 명령을 구분하여 여러 명령을 결합할 수 있습니다. 명령 문자열이 단일 명령인 경우 작은따옴표는 선택 사항입니다.
Command2
Expression의 식이 0(FALSE)으로 평가될 경우 실행할 명령 문자열입니다. 명령 문자열을 작은따옴표( ' )로 둘러싸고 세미콜론을 사용하여 명령을 구분하여 여러 명령을 결합할 수 있습니다. 명령 문자열이 단일 명령인 경우 작은따옴표는 선택 사항입니다.
환경
항목 | 설명 |
---|---|
모드 | 사용자 모드, 커널 모드 |
대상 | 라이브, 크래시 덤프 |
플랫폼 | 모두 |
설명
j 명령 후에는 세미콜론 또는 추가 명령을 추가할 수 없습니다. Command2 이후 세미콜론이 나타나면 세미콜론 뒤의 모든 항목이 무시됩니다.
다음 명령은 MySymbol이 0과 같으면 eax 값을 표시하고, 그렇지 않으면 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' "
이제 디버거에서 더 간단한 양식을 사용할 수 있으므로 이 조건부 중단점 스타일은 더 이상 권장되지 않습니다. 조건부 중단점의 구문에 대한 자세한 내용은 조건부 중단점 설정을 참조하세요.