다음을 통해 공유


프로그램

디버거 아키텍처에서 프로그램은 다음과 같습니다.

  • 스레드 집합과 모듈 집합 모두에 대한 컨테이너입니다. 프로그램에는 Windows 운영 체제에 대한 단일 비유가 없습니다.

    프로그램은 일종의 하위 프로세스입니다. 예를 들어 웹 사이트를 디버깅하는 경우 스크립트를 프로그램으로 볼 수 있습니다. 스크립트는 다른 스크립트와 관계없이 스크립팅 엔진 프로세스에서 실행되지만 자체 스레드 집합도 있습니다. 디버그 엔진(DE)은 프로세스나 스레드가 아닌 프로그램에 연결됩니다.

  • 자체 및 실행 중인 프로세스를 식별할 수 있습니다. 프로그램은 DE에 연결되거나 분리될 수 있으며, 그것을 만든 DE를 설명할 수 있습니다(있는 경우). 프로그램을 실행, 중지, 계속 및 종료할 수도 있습니다.

  • 모든 스레드를 열거할 수 있습니다. 또한 프로그램은 자체 디스어셈블리 스트림을 제공할 수 있으며 지정된 문서 위치의 모든 코드 컨텍스트를 열거할 수 있습니다.

  • 구현에 따라 프로그램이 연결되기 전에 또는 연결 프로세스의 일부로 만든 IDebugProgram2 인터페이스로 표시됩니다. 포트가 프로세스의 프로그램을 열거하면 AddProgramNode에 인수로 전달된 해당 IDebugProgramNode2 인터페이스에 따라 각 프로그램이 만들어집니다. 디버그 엔진은 프로그램을 나타내는 인터페이스도 생성하지만 IDebugProgram2, 이러한 프로그램은 프로그램 노드에 따라 생성되지 않습니다. DE에서 만든 인터페이스는 IDebugProgramNode2 실제 디버깅에 사용되는 반면 포트에서 만든 인터페이스는 프로세스에서 실행 중인 프로그램을 검색하는 데만 사용됩니다.

참고하십시오