Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Sets or returns the active program.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
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)
Property Value
Type: EnvDTE.Program
A Program object.
Implements
Remarks
The active program is the program that defines the data displayed by the debugger. Although the debugger supports debugging more than one process at a time, only one process can be active at any given time. See Debugging Multiple Processes for more information.
Examples
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
.NET Framework Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.