Partager via


Debugger2.CurrentProgram, propriété

Définit ou retourne le programme actif.

Espace de noms :  EnvDTE80
Assembly :  EnvDTE80 (dans EnvDTE80.dll)

Syntaxe

'Déclaration
Property CurrentProgram As Program
    Get
    Set
Program CurrentProgram { get; set; }
property Program^ CurrentProgram {
    Program^ get ();
    void set (Program^ value);
}
abstract CurrentProgram : Program with get, set
function get CurrentProgram () : Program
function set CurrentProgram (value : Program)

Valeur de propriété

Type : EnvDTE.Program
un objet Program.

Implémentations

Debugger.CurrentProgram

Notes

Le programme actif est le programme qui définit les données affichées par le débogueur. Bien que le débogueur prenne en charge le débogage de plusieurs processus à la fois, seul un processus peut être actif à un moment donné. Consultez Débogage de plusieurs processus pour plus d'informations.

Exemples

Sub DumpStacks()
    ' This macro dumps the stack for each thread 
    ' running in the current program to the 
    ' Command window.  The output format is identical 
    ' to that of the call-stack window except the current
    ' line is not printed.
    Dim d As EnvDTE80.Debugger2
    d = DTE2.Debugger
    Dim ow As CommandWindow
    ow = DTE2.Windows.Item(Constants.vsWindowKindCommandWindow).Object

    If d.CurrentProgram Is Nothing Then
        ow.OutputString("No program is currently being debugged." + _
        vbCrLf)
    Else
        Dim MyThread As Thread
        ow.OutputString("Current Program: " + d.CurrentProgram.Name + _
        vbCrLf)

        For Each MyThread In d.CurrentProgram.Threads
            ow.OutputString("" + vbTab + "Thread _
            (" + Str(MyThread.ID) + " ) " + MyThread.Name + vbCrLf)

            Dim MyFrame As EnvDTE.StackFrame
            For Each MyFrame In MyThread.StackFrames
                Dim strModule As String
                Dim pos As Integer = InStrRev(MyFrame.Module, "\")
                If pos > 0 Then
                    strModule = Right(MyFrame.Module, _
                    Len(MyFrame.Module) - pos)
                Else
                    strModule = MyFrame.Module
                End If

                Dim strFName As String = MyFrame.FunctionName
                'Create the argument list.
                Dim strArgs As String
                Dim MyArg As Expression
                Dim i = 0
                For Each MyArg In MyFrame.Arguments
                    If i > 0 Then
                        strArgs = strArgs + ", "
                    End If
                    strArgs = strArgs + MyArg.Type + " " + _
                    MyArg.Name + "=" + MyArg.Value
                    i = i + 1
                Next
                'Output the frame information.
                ow.OutputString("" + vbTab + vbTab + strModule + ": _
                " + strFName + "(" + strArgs + ")" + vbCrLf)
            Next
        Next
    End If
End Sub

Sécurité .NET Framework

Voir aussi

Référence

Debugger2 Interface

CurrentProgram, surcharge

EnvDTE80, espace de noms