Debugger2.CurrentProcess-Eigenschaft

Ruft den aktiven Prozess ab oder legt ihn fest.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

'Declaration
Property CurrentProcess As Process
    Get
    Set
Process CurrentProcess { get; set; }
property Process^ CurrentProcess {
    Process^ get ();
    void set (Process^ value);
}
abstract CurrentProcess : Process with get, set
function get CurrentProcess () : Process
function set CurrentProcess (value : Process)

Eigenschaftswert

Typ: EnvDTE.Process
Ein Process-Objekt.

Implementiert

Debugger.CurrentProcess

Hinweise

Der aktive Prozess ist der Prozess, der die vom Debugger angezeigten Daten festlegt. Obwohl der Debugger in der Lage ist, mehr als einen Prozess gleichzeitig zu debuggen, kann zu jedem Zeitpunkt immer nur ein Prozess aktiv sein. Weitere Informationen finden Sie unter Debuggen mehrerer Prozesse.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die CurrentProcess-Eigenschaft verwendet wird.

So testen Sie diese Eigenschaft

  1. Öffnen Sie die Zielanwendung. Führen Sie das Add-In aus.

    Momentan wird kein Prozess gedebuggt.

  2. Legen Sie einen Haltepunkt in der Zielanwendung fest. Führen Sie die Anwendung im Debugmodus aus.

  3. Führen Sie das Add-In aus, wenn das Programm am Haltepunkt hält.

    Der Prozess wird momentan gedebuggt.

public static void CurrentProcess(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("Current Process 
    Test");
    owp.Activate();

    owp.OutputString("Current Process Info: ");
    EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)dte.Debugger;
    EnvDTE80.Process2 process = (EnvDTE80.Process2)debugger.CurrentProcess;

    if (process == null)
        owp.OutputString("No process is being debugged");
    else
        owp.OutputString("Process ID = " + process.ProcessID +
                         "  Process Name = " + process.Name);
}
Sub ShowCurrentProcess()
    ' This function displays the current debugger
    ' mode in the output window.
    Dim ow As OutputWindow
    ow = DTE2.Windows.Item(Constants.vsWindowKindOutput).Object

    Dim proc As EnvDTE.Process2
    proc = DTE2.Debugger.CurrentProcess

    If (proc Is Nothing) Then
        ow.ActivePane.OutputString("No process is being debugged")
    Else
        ow.ActivePane.OutputString("" + Str(proc.ProcessID) + ": " + _
        poc.Name + vbCrLf)
    End If
End Sub

.NET Framework-Sicherheit

Siehe auch

Referenz

Debugger2 Schnittstelle

CurrentProcess-Überladung

EnvDTE80-Namespace