Debugger.DebuggedProcesses 属性

获取当前正在调试的进程的列表。

命名空间:  EnvDTE
程序集:  EnvDTE(在 EnvDTE.dll 中)

语法

声明
ReadOnly Property DebuggedProcesses As Processes
Processes DebuggedProcesses { get; }
property Processes^ DebuggedProcesses {
    Processes^ get ();
}
abstract DebuggedProcesses : Processes with get
function get DebuggedProcesses () : Processes

属性值

类型:EnvDTE.Processes
一个 Processes 集合。

备注

DebuggedProcesses 返回一个表示当前正在调试的那些进程 Processes 的集合。

示例

下面的示例演示如何使用 DebuggedProcesses 属性。

测试此属性:

  1. 在目标应用程序中设置一个断点。 运行外接程序。

    当前没有调试任何进程。

  2. 在目标应用程序中设置一个断点。 运行目标应用程序。 当此应用程序停在该断点处时,运行外接程序。

    正在调试该进程。

public static void DebuggedProcesses(DTE dte)
{
    // Setup the 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();

    EnvDTE.Processes processes = dte.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);
}
Shared Sub DebuggedProcesses(ByRef dte As EnvDTE.DTE)
    Dim str As String
    Dim processes As EnvDTE.Processes = dte.Debugger.DebuggedProcesses
    If processes.Count = 0 Then
        MessageBox.Show("No processes are being debugged.", _
                        "Debugger Test - Debugged Processes Test")
    Else
        For Each proc As EnvDTE.Process In processes
            str += vbCrLf + "Process: [" + proc.ProcessID.ToString() + "] " + _
                   proc.Name.ToString()
        Next
        MessageBox.Show(str, "Debugger Test - Debugged Processes Test")
    End If
End Sub

.NET Framework 安全性

请参阅

参考

Debugger 接口

EnvDTE 命名空间