다음을 통해 공유


중단점 관련 메서드

DE(디버그 엔진)는 중단점 설정을 지원해야 합니다. Visual Studio 디버깅은 다음과 같은 유형의 중단점을 지원합니다.

  • Bound

    UI를 통해 요청되고 지정된 코드 위치에 성공적으로 바인딩됨

  • 보류 중

    UI를 통해 요청되었지만 아직 실제 지침에 바인딩되지 않음

토론(Discussion)

예를 들어 명령이 아직 로드되지 않은 경우 보류 중인 중단점이 발생합니다. 코드가 로드될 때 보류 중인 중단점은 규정된 위치의 코드에 바인딩을 시도합니다. 즉, 코드에 중단 명령을 삽입합니다. 이벤트는 성공적인 바인딩을 나타내거나 바인딩 오류가 있음을 알리기 위해 SDM(세션 디버그 관리자)로 전송됩니다.

보류 중인 중단점은 해당 바운드 중단점의 자체 내부 목록도 관리합니다. 보류 중인 중단점이 하나 있으면 코드에 많은 중단점이 삽입될 수 있습니다. Visual Studio 디버깅 UI에는 보류 중인 중단점 및 해당 바인딩된 중단점의 트리 뷰가 표시됩니다.

보류 중인 중단점을 만들고 사용하려면 IDebugEngine2::CreatePendingBreakpoint 메서드와 IDebugPendingBreakpoint2 인터페이스의 다음 메서드를 구현해야 합니다.

메서드 설명
CanBind 지정된 보류 중인 중단점이 코드 위치에 바인딩할 수 있는지 여부를 결정합니다.
Bind 지정된 보류 중인 중단점을 하나 이상의 코드 위치에 바인딩합니다.
GetState 보류 중인 중단점의 상태를 가져옵니다.
GetBreakpointRequest 보류 중인 중단점을 만드는 데 사용되는 중단점 요청을 가져옵니다.
사용 보류 중인 중단점의 사용 상태를 전환합니다.
EnumBoundBreakpoints 보류 중인 중단점에서 바인딩된 모든 중단점을 열거합니다.
EnumErrorBreakpoints 보류 중인 중단점에서 발생하는 모든 오류 중단점을 열거합니다.
Delete 보류 중인 중단점과 해당 중단점에서 바인딩된 모든 중단점을 삭제합니다.

바인딩된 중단점 및 오류 중단점을 열거하려면 IEnumDebugBoundBreakpoints2IEnumDebugErrorBreakpoints2의 모든 메서드를 구현해야 합니다.

코드 위치에 바인딩하는 보류 중인 중단점에는 다음 IDebugBoundBreakpoint2 메서드를 구현해야 합니다.

메서드 설명
GetPendingBreakpoint 중단점이 포함된 보류 중인 중단점을 가져옵니다.
GetState 바인딩된 중단점의 상태를 가져옵니다.
GetBreakpointResolution 중단점을 설명하는 중단점 확인을 가져옵니다.
사용 중단점을 사용하거나 사용하지 않도록 설정합니다.
Delete 바인딩된 중단점을 삭제합니다.

해결 및 요청 정보를 사용하려면 다음 IDebugBreakpointResolution2 메서드를 구현해야 합니다.

메서드 설명
GetBreakpointType 해상도로 표시되는 중단점의 형식을 가져옵니다.
GetResolutionInfo 중단점을 설명하는 중단점 확인 정보를 가져옵니다.

바인딩 중에 발생할 수 있는 오류를 해결하려면 다음 IDebugErrorBreakpoint2 메서드를 구현해야 합니다.

메서드 설명
GetPendingBreakpoint 오류 중단점이 포함된 보류 중인 중단점을 가져옵니다.
GetBreakpointResolution 오류 중단점을 설명하는 중단점 오류 해결을 가져옵니다.

바인딩 중에 발생할 수 있는 오류를 해결하려면 다음 IDebugErrorBreakpointResolution2 메서드도 필요합니다.

메서드 설명
GetBreakpointType 중단점의 형식을 가져옵니다.
GetResolutionInfo 중단점의 확인 정보를 가져옵니다.

중단점에서 소스 코드를 보려면 IDebugStackFrame2::GetDocumentContext 및/또는 IDebugStackFrame2::GetCodeContext의 메서드를 구현해야 합니다.

참고 항목