Thread2.Location - свойство
Возвращает адрес кода, который выполнялся потоком в момент отладочной остановки процесса.
Пространство имен: EnvDTE90
Сборка: EnvDTE90 (в EnvDTE90.dll)
Синтаксис
'Декларация
ReadOnly Property Location As String
Get
string Location { get; }
property String^ Location {
String^ get ();
}
abstract Location : string
function get Location () : String
Значение свойства
Тип: System.String
Строковое значение, представляющее адрес кода, выполнявшегося потоком в момент отладочной остановки процесса.
Реализации
Заметки
Если с отлаживаемым кодом связаны символьные данные, то свойство Location возвращает имя функции. Если отлаживаемый код не имеет связанных символов, то Location возвращает числовой адрес.
Примеры
В следующем примере демонстрируется применение свойства Collection.
Чтобы проверить это свойство, выполните следующие действия.
Установите точку останова внутри метода обратного вызова рабочего потока;
Запустите приложение в режиме отладки.
Когда выполнение приложения остановится в точке останова, запустите надстройку.
public static void TestThreadProperties(DTE2 dte)
{
// Setup 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("Thread Test");
owp.Activate();
EnvDTE.Threads threads = dte.Debugger.CurrentProgram.Threads;
owp.OutputString("\nNumber of items in the Thread collection: " +
threads.Item(1).Collection.Count + "\n");
foreach(EnvDTE90.Thread2 thread in threads)
{
owp.OutputString("\nThread: " + thread.ID + " Name: " +
thread.Name);
owp.OutputString("\n Edition of the environment : " +
thread.DTE.Edition);
owp.OutputString("\n Is alive : " +
thread.IsAlive);
owp.OutputString("\n Is frozen : " +
thread.IsFrozen);
owp.OutputString("\n Location : " +
thread.Location);
owp.OutputString("\n Parent's current mode : " +
thread.Parent.CurrentMode);
owp.OutputString("\n Priority : " +
thread.Priority);
owp.OutputString("\n Program name : " +
thread.Program.Name);
owp.OutputString("\n Number of stack frames : " +
thread.StackFrames.Count);
owp.OutputString("\n Suspended number of times : " +
thread.SuspendCount);
owp.OutputString("\n Flag on the thread : " + thread.Flag);
}
}
Shared Sub ThreadProperties(ByRef dte As EnvDTE80.DTE2)
Dim str As String
Dim threads As EnvDTE.Threads = dte.Debugger.CurrentProgram.Threads
str = "Number of items in the Thread collection: " + _
threads.Item(1).Collection.Count.ToString()
For Each thread As EnvDTE90.Thread2 In threads
str += vbCrLf + vbCrLf + " Thread: " + thread.ID.ToString()
str += vbCrLf + " Edition of the environment: " +
thread.DTE.Edition
str += vbCrLf + " Is alive: " + thread.IsAlive.ToString()
str += vbCrLf + " Is frozen: " + thread.IsFrozen.ToString()
str += vbCrLf + " Location: " + thread.Location
str += vbCrLf + " Parent's current mode: " + _
thread.Parent.CurrentMode.ToString()
str += vbCrLf + " Priority: " + thread.Priority
str += vbCrLf + " Program name: " + thread.Program.Name
str += vbCrLf + " Number of stack frames: " + _
thread.StackFrames.Count.ToString()
str += vbCrLf + " Suspended number of times: " + _
thread.SuspendCount.ToString()
str += vbCrLf + " Flag on the thread: " + _
thread.Flag.ToString()
Next
MessageBox.Show(str, "Thread Test - Properties")
End Sub
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Другие ресурсы
Работа с потоками и процессами