다음을 통해 공유


ICorDebugStepper 인터페이스

디버거에서 수행하는 코드 실행의 단계를 나타내고, 명령의 발급과 완료 사이의 식별자 역할을 하며, 단계를 취소하는 방법을 제공합니다.

메서드

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

비고

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

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

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

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

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

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

비고

이 인터페이스는 컴퓨터 간 또는 크로스 프로세스 중 원격으로 호출되는 것을 지원하지 않습니다.

요구 사항

플랫폼:.NET 지원 운영 체제를 참조하세요.

머리글: CorDebug.idl, CorDebug.h

도서관: CorGuids.lib

.NET 버전: .NET Framework 1.0 이후 사용 가능