ICorDebugStepper 인터페이스

디버거에서 수행하는 코드 실행 단계를 나타내며, 명령의 실행/완료를 구분하는 식별자로 사용되고, 단계를 취소하는 방법을 제공합니다.

메서드

메서드 설명
Deactivate 메서드 ICorDebugStepper가 받은 마지막 단계 명령을 취소하도록 합니다.
IsActive 메서드 현재 ICorDebugStepper가 단계를 실행하고 있는지 여부를 나타내는 값을 가져옵니다.
SetInterceptMask 메서드 한 단계씩 실행되는 코드 형식을 지정하는 CorDebugIntercept 값을 설정합니다.
SetRangeIL 메서드 ICorDebugStepper::StepRange 호출이 네이티브 코드를 기준으로 인수 값을 전달하는지 또는 단계별로 진행 중인 메서드의 CIL(공용 중간 언어) 코드를 전달할지 여부를 나타내는 값을 설정합니다.
SetUnmappedStopMask 메서드 실행이 중지되는 매핑되지 않은 코드의 형식을 지정하는 CorDebugUnmappedStop 값을 설정합니다.
Step 메서드 ICorDebugStepper가 포함하는 스레드를 한 단계씩 실행하고 필요에 따라 스레드 내에서 호출되는 함수를 한 단계씩 실행하도록 합니다.
StepOut 메서드 ICorDebugStepper가 포함하는 스레드를 한 단계씩 실행하고 현재 프레임이 호출 프레임에 컨트롤을 반환할 때 완료되도록 합니다.
StepRange 메서드 ICorDebugStepper가 포함하는 스레드를 한 단계씩 실행하고 지정된 범위의 마지막을 넘어서는 코드에 도달하면 반환되도록 합니다.

설명

ICorDebugStepper 인터페이스는 다음과 같은 용도로 사용됩니다.

  • 실행된 단계 명령과 해당 명령의 완료 사이의 식별자 역할을 합니다.

  • 수행할 수 있는 모든 단계를 캡슐화하는 중앙 인터페이스를 제공합니다.

  • 단계별 작업을 조기에 취소하는 방법을 제공합니다.

스레드당 두 개 이상의 스테퍼가 있을 수 있습니다. 예를 들어 함수를 단계별로 실행하는 동안 중단점이 적중될 수 있으며 사용자는 해당 함수 내에서 새 단계별 작업을 시작할 수 있습니다. 이 상황을 처리하는 방법은 디버거가 결정해야 합니다. 디버거는 원래 단계별 실행 작업을 취소하거나 두 작업을 중첩할 수 있습니다. ICorDebugStepper 인터페이스는 두 선택 항목을 모두 지원합니다.

CLR(공용 언어 런타임)이 스레드 간 마샬링된 호출을 만드는 경우 스테퍼는 스레드 간에 마이그레이션할 수 있습니다.

참고 항목

이 인터페이스는 크로스 시스템 또는 크로스 프로세스 원격 호출을 지원하지 않습니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

.NET Framework 버전: 1.0부터 사용 가능

참고 항목