작업 모드
IDE가 작업할 수 있는 세 가지 모드는 다음과 같습니다.
-
이러한 모드 간에 사용자 지정 DE(디버그 엔진)가 전환되는 방법은 전환 메커니즘에 익숙해야 하는 구현 결정입니다. DE는 이러한 모드를 직접 구현할 수도 있고 그렇지 않을 수도 있습니다. 이러한 모드는 실제로 DE의 사용자 작업 또는 이벤트를 기반으로 전환하는 디버그 패키지 모드입니다. 예를 들어 실행 모드에서 중단 모드로의 전환은 DE에서 중지 이벤트에 의해 시작됩니다. 중단 모드에서 실행 모드 또는 단계 모드로의 전환은 사용자가 단계 또는 실행과 같은 작업을 수행함으로써 시작됩니다. DE 전환에 대한 자세한 내용은 실행 제어를 참조하세요.
디자인 모드
디자인 모드는 Visual Studio 디버깅의 실행 중이 아닌 상태이며, 이 기간 동안 애플리케이션에서 디버깅 기능을 설정할 수 있습니다.
디자인 모드 중에는 몇 가지 디버깅 기능만 사용됩니다. 개발자는 중단점을 설정하거나 조사식을 만들도록 선택할 수 있습니다. IDE가 디자인 모드에 있는 동안에는 DE가 로드되거나 호출되지 않습니다. DE와의 상호 작용은 실행 및 중단 모드 중에만 발생합니다.
실행 모드
실행 모드는 프로그램이 IDE의 디버깅 세션에서 실행될 때 발생합니다. 애플리케이션은 종료될 때가지, 중단점에 도달할 때까지 또는 예외가 throw될 때까지 실행됩니다. 애플리케이션이 종료될 때까지 실행되면 DE는 디자인 모드로 전환됩니다. 중단점이 적중되거나 예외가 throw되면 DE가 중단 모드로 전환됩니다.
중단 모드
중단 모드는 디버깅 프로그램의 실행이 일시 중단될 때 발생합니다. 중단 모드는 개발자에게 중단 시점에 애플리케이션의 스냅샷을 제공하고 개발자가 애플리케이션의 상태를 분석하고 애플리케이션 실행 방법을 변경할 수 있도록 합니다. 개발자는 코드를 보고 편집하거나, 데이터를 검사 또는 수정하거나, 애플리케이션을 다시 시작하거나, 실행을 종료하거나, 동일한 지점에서 실행을 계속할 수 있습니다.
중단 모드는 DE가 동기 중지 이벤트를 보낼 때 입력됩니다. 중지 이벤트라고도 하는 동기 중지 이벤트는 SDM(세션 디버그 관리자) 및 IDE에 디버그 중인 애플리케이션이 코드 실행을 중지했음을 알립니다. IDebugBreakpointEvent2 및 IDebugExceptionEvent2 인터페이스는 중지 이벤트의 예입니다.
중지 이벤트는 디버거를 중단 모드에서 실행 또는 단계 모드로 전환하는 다음 메서드 중 하나를 호출하여 계속됩니다.
단계 모드
단계 모드는 프로그램이 다음 코드 줄로 이동하거나 또는 함수에 안으로, 함수를 넘어가거나, 함수에서 벗어나는 경우에 발생합니다. 단계는 메서드 Step을 호출하여 실행됩니다. 이 메서드를 DWORD
사용하려면 STEPUNIT 및 STEPKIND 열거형을 입력 매개 변수로 지정해야 합니다.
프로그램이 다음 코드 줄이나 함수로 성공적으로 단계가 수행되거나 커서 또는 설정된 중단점으로 실행되면 DE는 자동으로 중단 모드로 다시 전환됩니다.