IDataModelScriptDebug2::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 |