다음을 통해 공유


IDataModelScriptDebug::GetCurrentPosition 메서드(dbgmodel.h)

GetCurrentPosition의 메서드는 스크립트 내에서 현재 위치를 반환합니다. 이 호출은 스크립트가 디버거로 분할된 경우에만 호출될 수 있습니다. 여기서 GetScriptState를 호출하면 ScriptDebugBreak가 반환됩니다. 이 메서드에 대한 다른 호출이 잘못되었으며 실패합니다.

스크립트의 위치는 문자 범위로 정의됩니다. 범위의 시작은 항상 반환되어야 합니다(줄 번호와 열 번호 모두). 특정 디버거가 스크립트 내에서 "현재 위치"의 전체 범위를 반환할 수 있는 경우 positionSpanEnd 인수에서 끝 위치를 선택적으로 반환할 수 있습니다. 디버거가 이를 수행할 수 없는 경우 범위 끝의 줄 및 열 값(요청된 경우)을 0으로 설정해야 합니다.

디버거가 디버거가 손상된 코드 줄의 소스 코드를 전달할 수 있는 경우 이 메서드에서 이러한 코드를 반환할 수 있습니다. 가능하면 이 정보를 제공하는 것이 좋습니다. 그러나 중단 위치의 시작 줄과 열보다 더 많은 정보가 반환되지는 않습니다. 원본 줄 정보가 지원되지 않는 경우 해당 인수에 대해 nullptr 값이 반환될 수 있습니다.

구문

HRESULT GetCurrentPosition(
  ScriptDebugPosition *currentPosition,
  ScriptDebugPosition *positionSpanEnd,
  BSTR                *lineText
);

매개 변수

currentPosition

스크립트의 현재 중단 위치는 여기에서 반환되어야 합니다. 반환된 구조체의 선 및 열 필드는 하나의 기반입니다. 의 값이 0이면 정보를 사용할 수 없음을 나타냅니다.

positionSpanEnd

디버거가 중단 위치의 전체 범위를 결정할 수 있는 경우 범위의 끝 위치는 여기에서 반환될 수 있습니다. 그렇지 않은 경우 반환된 구조체의 선 및 열 필드에 값 0을 채워야 합니다.

lineText

디버거가 중단의 줄(또는 범위)에 대한 소스 코드를 반환할 수 있는 경우 SysAllocString 함수에 의해 할당된 문자열로 여기에 반환될 수 있습니다. 호출자는 SysFreeString을 사용하여 반환된 문자열을 해제합니다. 디버거가 이 원본 정보를 생성할 수 없는 경우 nullptr을 반환해야 합니다.

반환 값

이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다.

요구 사항

요구 사항
헤더 dbgmodel.h

추가 정보

IDataModelScriptDebug 인터페이스