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부터 사용 가능
참고 항목
.NET