다음을 통해 공유


ICorDebugEval 인터페이스

디버깅 중인 코드의 컨텍스트 내에서 디버거가 코드를 실행할 수 있도록 하는 메서드를 제공합니다.

메서드

메서드 Description
Abort 메서드 ICorDebugEval 개체가 현재 수행 중인 계산을 중단합니다.
CallFunction 메서드 지정된 함수에 대한 호출을 설정합니다. (.NET Framework 버전 2.0에서는 사용되지 않습니다. 대신 ICorDebugEval2::CallParameterizedFunction을 사용합니다.)
CreateValue 메서드 초기 값이 0 또는 null인 지정된 형식의 "ICorDebugValue" 개체에 대한 인터페이스 포인터를 가져옵니다. (.NET Framework 2.0에서는 사용되지 않습니다. 대신 ICorDebugEval2::CreateValueForType을 사용합니다.)
GetResult 메서드 평가 결과를 포함하는 ICorDebugValue에 대한 인터페이스 포인터를 가져옵니다.
GetThread 메서드 이 평가가 실행 중이거나 실행될 "ICorDebugThread"에 대한 인터페이스 포인터를 가져옵니다.
IsActive 메서드 현재 이 ICorDebugEval 개체가 실행 중인지 여부를 나타내는 값을 가져옵니다.
NewArray 메서드 지정된 요소 형식 및 차원의 새 배열을 할당합니다. (.NET Framework 2.0에서는 사용되지 않습니다. 대신 ICorDebugEval2::NewParameterizedArray를 사용합니다.)
NewObject 메서드 새 개체 인스턴스를 할당하고 지정된 생성자 메서드를 호출합니다. (.NET Framework 2.0에서는 사용되지 않습니다. 대신 ICorDebugEval2::NewParameterizedObject를 사용합니다.)
NewObjectNoConstructor 메서드 생성자 메서드를 호출하지 않고 지정된 형식의 새 개체 인스턴스를 할당합니다. (.NET Framework 2.0에서는 사용되지 않습니다. 대신 ICorDebugEval2::NewParameterizedObjectNoConstructor를 사용합니다.)
NewString 메서드 지정된 내용을 사용하여 새 문자열 개체를 할당합니다.

설명

ICorDebugEval 개체는 평가를 수행하는 데 사용되는 특정 스레드의 컨텍스트에서 만들어집니다. 지정된 평가에 사용되는 모든 개체와 형식은 동일한 애플리케이션 도메인 내에 있어야 합니다. 해당 애플리케이션 도메인은 스레드의 현재 애플리케이션 도메인과 동일할 필요가 없습니다. 평가는 중첩될 수 있습니다.

디버거가 ICorDebugController::Continue를 호출한 다음, ICorDebugManagedCallback::EvalComplete 콜백을 받을 때까지 평가의 작업이 완료되지 않습니다. 다른 스레드를 실행 하도록 허용 하지 않고 평가 기능을 사용 해야 하는 경우 ICorDebugController:: Continue를 호출하기 전에 ICorDebugController:: SetAllThreadsDebugState 또는 ICorDebugController:: Stop을 사용하여 스레드를 일시 중단합니다.

평가가 진행 중일 때 사용자 코드가 실행되므로 클래스 로드 및 중단점을 포함하여 모든 디버그 이벤트가 발생할 수 있습니다. 디버거는 이러한 이벤트에 대해 정상적으로 콜백을 받습니다. 평가 상태는 정상 프로그램 상태를 검사하면 표시됩니다. 스택 체인은 CHAIN_FUNC_EVAL 체인이 됩니다("CorDebugStepReason" 열거형 및 ICorDebugChain::GetReason 메서드 참조). 전체 디버거 API는 정상적으로 계속 작동합니다.

교착 상태 또는 무한 반복 상황이 발생하면 사용자 코드가 완료되지 않을 수 있습니다. 이러한 경우 프로그램을 다시 시작하기 전에 ICorDebugEval::Abort를 호출해야 합니다.

참고

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

요구 사항

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

헤더: CorDebug.idl, CorDebug.h

라이브러리: CorGuids.lib

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

참고 항목