Debugger3.CurrentProgram - свойство
Обновлен: Ноябрь 2007
Возвращает или задает активную программу.
Пространство имен: EnvDTE90
Сборка: EnvDTE90 (в EnvDTE90.dll)
Синтаксис
'Декларация
Property CurrentProgram As Program
'Применение
Dim instance As Debugger3
Dim value As Program
value = instance.CurrentProgram
instance.CurrentProgram = value
Program CurrentProgram { get; set; }
property Program^ CurrentProgram {
Program^ get ();
void set (Program^ value);
}
function get CurrentProgram () : Program
function set CurrentProgram (value : Program)
Значение свойства
Тип: EnvDTE.Program
Объект Program.
Реализации
Заметки
Активная программа — это программа, которая определяет данные, отображаемые отладчиком. Хотя отладчик поддерживает одновременную отладку нескольких процессов, в отдельный момент времени может быть активен только один процесс. Дополнительные сведения см. в разделе Отладка нескольких процессов.
Примеры
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 EnvDTE90.Debugger3
d = dte.Debugger3
Dim ow As CommandWindow
ow = dte.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
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.