IDebugProgram2
이 인터페이스는 프로세스에서 실행 중인 프로그램을 나타냅니다.
구문
IDebugProgram2 : IUnknown
구현자에 대한 참고 사항
DE(디버그 엔진) 및 사용자 지정 포트 공급자는 프로세스의 프로그램을 나타내기 위해 이 인터페이스를 구현합니다. 또한 SDM(세션 디버그 관리자)은 이 인터페이스를 구현하여 Attach에 정보를 제공합니다.
호출자 참고 사항
IDebugProgramCreateEvent2 이벤트는 새 프로그램에 대해 이 인터페이스를 반환합니다. 이 인터페이스는 여러 인터페이스의 여러 메서드에 대한 매개 변수로도 사용됩니다.
Vtable 순서의 메서드
다음 표에서는 IDebugProgram2
메서드를 보여 줍니다.
메서드 | 설명 |
---|---|
EnumThreads | 이 프로그램에서 실행 중인 스레드를 열거합니다. |
GetName | 프로그램의 이름을 가져옵니다. |
GetProcess | 이 프로그램이 실행 중인 프로세스를 가져옵니다. |
Terminate | 이 프로그램을 종료합니다. |
Attach | 이 프로그램에 연결합니다. |
CanDetach | DE(디버그 엔진)가 프로그램에서 분리될 수 있는지 여부를 결정합니다. |
Detach | 이 프로그램에서 디버거를 분리합니다. |
GetProgramId | 이 프로그램에 대한 전역적으로 고유한 식별자를 가져옵니다. |
GetDebugProperty | 프로그램 속성을 가져옵니다. |
Execute | 중지된 상태에서 이 프로그램을 계속 실행합니다. 이전 실행 상태는 지워집니다. |
계속 | 중지된 상태에서 이 프로그램을 계속 실행합니다. 이전 실행 상태는 유지됩니다. |
Step | 단계를 수행합니다. |
CauseBreak | 다음번에 스레드 중 하나가 코드를 실행할 때 이 프로그램의 실행을 중지할 것을 요청합니다. |
GetEngineInfo | 이 프로그램을 실행하는 DE(디버그 엔진)의 이름 및 식별자를 가져옵니다. |
EnumCodeContexts | 소스 파일에서 지정된 위치에 대한 코드 컨텍스트를 열거합니다. |
GetMemoryBytes | 이 프로그램의 메모리 바이트를 가져옵니다. |
GetDisassemblyStream | 이 프로그램 또는 이 프로그램의 일부에 대한 디스어셈블리 스트림을 가져옵니다. |
EnumModules | 이 프로그램이 로드하고 실행 중인 모듈을 열거합니다. |
GetENCUpdate | 이 프로그램에 대한 ENC(편집하며 계속하기) 업데이트를 가져옵니다. 사용자 지정 디버그 엔진은 이 메서드를 구현하지 않습니다(항상 E_NOTIMPL 을 반환해야 함). |
EnumCodePaths | 이 프로그램의 코드 경로를 열거합니다. |
WriteDump | 파일에 덤프를 씁니다. |
요구 사항
헤더: msdbg.h
네임스페이스: Microsoft.VisualStudio.Debugger.Interop
어셈블리: Microsoft.VisualStudio.Debugger.Interop.dll
설명
프로그램은 특정 런타임 아키텍처에서 실행되는 스레드 컨테이너이며 프로세스는 하나 이상의 프로그램으로 구성됩니다.