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

설명

프로그램은 특정 런타임 아키텍처에서 실행되는 스레드 컨테이너이며 프로세스는 하나 이상의 프로그램으로 구성됩니다.

참고 항목