Freigeben über


Debugger.CurrentProcess-Eigenschaft

Legt den aktiven Prozess fest oder ruft ihn ab.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.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.

Hinweise

CurrentProcess legt den aktiven Process fest oder gibt ihn zurück. 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(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("Current Process Test");
    owp.Activate();

    owp.OutputString("Current Process Info: ");
    EnvDTE.Process process = dte.Debugger.CurrentProcess;
    if(process == null)
        owp.OutputString("No process is being debugged");
    else
        owp.OutputString("Process ID = " + process.ProcessID + 
                         "  Process Name = " + process.Name);
}
Shared Sub CurrentProcess(ByRef dte As EnvDTE.DTE)
     Dim process As EnvDTE.Process = dte.Debugger.CurrentProcess
     If process Is Nothing Then
         MessageBox.Show("No process is being debugged", "Debugger Test")
     Else
         MessageBox.Show("Process ID = " + process.ProcessID.ToString() + _
                         "  Process Name = " + process.Name, "Debugger Test")
     End If
 End Sub

.NET Framework-Sicherheit

Siehe auch

Referenz

Debugger Schnittstelle

EnvDTE-Namespace