Proprietà Debugger2.CurrentProgram
Imposta o restituisce il programma attivo.
Spazio dei nomi: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Sintassi
'Dichiarazione
Property CurrentProgram As Program
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)
Valore proprietà
Tipo: Program
Oggetto Program.
Note
Il programma attivo è il programma mediante il quale vengono definiti i dati visualizzati dal debugger. Sebbene sia possibile eseguire il debug di più processi alla volta, in un determinato momento può essere attivo un solo processo. Per ulteriori informazioni, vedere <PAVEOVER> Debug di più processi.
Esempi
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
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per altre informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.