다음을 통해 공유


IDataModelScriptDebugStack 인터페이스(dbgmodel.h)

스크립트의 스택에 대한 인터페이스입니다. 스크립트 공급자는 호출 스택의 개념을 스크립트 디버거에 노출하기 위해 이 인터페이스를 구현합니다.

상속

IDataModelScriptDebugStack은 IUnknown에서 상속됩니다.

메서드

IDataModelScriptDebugStack 인터페이스에는 이러한 메서드가 있습니다.

 
IDataModelScriptDebugStack::AddRef

IDataModelScriptDebugStack::AddRef 메서드는 개체의 인터페이스에 대한 참조 수를 증가합니다.
IDataModelScriptDebugStack::GetFrameCount

GetFrameCount 메서드는 호출 스택의 이 세그먼트에 있는 스택 프레임 수를 반환합니다.
IDataModelScriptDebugStack::GetStackFrame

GetStackFrame은 스택 세그먼트에서 특정 스택 프레임을 가져옵니다.
IDataModelScriptDebugStack::QueryInterface

IDataModelScriptDebugStack::QueryInterface 메서드는 개체에서 지원되는 인터페이스에 대한 포인터를 검색합니다.
IDataModelScriptDebugStack::Release

IDataModelScriptDebugStack::Release 메서드는 개체의 인터페이스에 대한 참조 수를 줄입니다.

설명

스크립트 디버거에 침입하는 이벤트가 발생하면 디버깅 인터페이스는 중단 위치에 대한 호출 스택을 검색하려고 합니다. 이 작업은 GetStack 메서드를 통해 수행됩니다. 이러한 스택은 아래에 표시된 대로 정의된 IDataModelScriptDebugStack을 통해 표현됩니다.

전체 스택은 여러 스크립트 및/또는 여러 스크립트 공급자에 걸쳐 있을 수 있습니다. 특정 스크립트의 디버그 인터페이스에서 GetStack 메서드에 대한 단일 호출에서 반환되는 호출 스택은 해당 스크립트의 범위 내에서 호출 스택의 세그먼트만 반환해야 합니다. 동일한 공급자의 두 스크립트가 상호 작용하는 경우 스크립트 디버그 엔진이 여러 스크립트 컨텍스트에 걸쳐 있으므로 호출 스택을 검색할 수 있습니다. GetStack 메서드는 다른 스크립트에 있는 스택 부분을 반환해서는 안 됩니다. 대신 이 상황을 감지할 수 있는 경우 스크립트의 경계 프레임인 스택 프레임은 해당 스택 프레임에서 IsTransitionPoint 및 GetTransition 메서드의 구현을 통해 전환 프레임으로 표시되어야 합니다. 디버거 인터페이스는 존재하는 여러 스택 세그먼트의 전체 스택을 함께 연결합니다.

이러한 방식으로 전환을 구현하거나 디버그 인터페이스가 지역 변수, 매개 변수, 중단점 및 기타 스크립트 관련 구문에 대한 문의를 잘못된 스크립트 컨텍스트로 전달해야 합니다. 그러면 디버거 인터페이스에서 정의되지 않은 동작이 발생합니다.

요구 사항

요구 사항
헤더 dbgmodel.h

추가 정보

디버거 데이터 모델 C++ 개요