다음을 통해 공유


Debugger2.DebuggedProcesses 속성

현재 디버깅 중인 프로세스 목록을 가져옵니다.

네임스페이스:  EnvDTE80
어셈블리:  EnvDTE80(EnvDTE80.dll)

구문

‘선언
ReadOnly Property DebuggedProcesses As Processes
Processes DebuggedProcesses { get; }
property Processes^ DebuggedProcesses {
    Processes^ get ();
}
abstract DebuggedProcesses : Processes with get
function get DebuggedProcesses () : Processes

속성 값

형식: Processes
Processes 컬렉션입니다.

설명

DebuggedProcesses는 현재 디버깅하고 있는 프로세스를 나타내는 Processes 컬렉션을 가져옵니다.

예제

다음 예제에서는 DebuggedProcesses 속성을 사용하는 방법을 보여 줍니다.

이 속성을 테스트하려면

  1. 대상 응용 프로그램에 중단점을 설정합니다. 추가 기능을 실행합니다.

    디버깅 중인 프로세스가 없습니다.

  2. 대상 응용 프로그램에 중단점을 설정합니다. 대상 응용 프로그램을 실행합니다. 응용 프로그램이 중단점에서 멈추면 추가 기능을 실행합니다.

    프로세스가 디버깅됩니다.

public static void DebuggedProcesses(EnvDTE80.DTE2 dte)
{
    // Setup debug Output window.
    Window w = 
    (Window)dte.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
    w.Visible = true;
    OutputWindow ow = (OutputWindow)w.Object;
    OutputWindowPane owp = ow.OutputWindowPanes.Add("Debugged Processes 
    Test");
    owp.Activate();

    EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)dte.Debugger;
    EnvDTE.Processes processes = debugger.DebuggedProcesses;
    if (processes.Count == 0)
        owp.OutputString("No processes are being debugged.");
    else
        foreach (EnvDTE.Process proc in processes)
            owp.OutputString("\nProcess: [" + proc.ProcessID + "] " + 
                             proc.Name);
}
Sub ListDebuggedProcesses()
    Dim ow As OutputWindow
    ow = DTE2.Windows.Item(Constants.vsWindowKindOutput).Object
    Dim proc As EnvDTE.Process2

    If DTE2.Debugger.DebuggedProcesses.Count = 0 Then
        ow.ActivePane.OutputString("No processes are being debugged." _
        & vbCrLf)

    Else
        For Each proc In DTE2.Debugger.DebuggedProcesses
            ow.ActivePane.OutputString("Process: [" + _
            Str(proc.ProcessID) + "] " + proc.Name + vbCrLf)
        Next
   End If
End Sub

.NET Framework 보안

참고 항목

참조

Debugger2 인터페이스

EnvDTE80 네임스페이스