Sdílet prostřednictvím


Thread.Location – vlastnost

Získá adresu, jakou podproces byl spouštění kódu v případě, že proces byl zastaven pro ladění.

Obor názvů:  EnvDTE
Sestavení:  EnvDTE (v EnvDTE.dll)

Syntaxe

'Deklarace
ReadOnly Property Location As String
string Location { get; }
property String^ Location {
    String^ get ();
}
abstract Location : string
function get Location () : String

Hodnota vlastnosti

Typ: System.String
Hodnotu řetězce, který představuje adresu, jakou byl podproces spouštění kódu whenthe procesu byla zastavena pro ladění.

Poznámky

Pokud má kód laděné spojené symbolů, Location vrátí název funkce.Pokud má kód laděné žádné přidružené symboly Location vrátí číselnou adresu.

Příklady

Následující příklad demonstruje použití Location vlastnost.

Tato vlastnost test

  1. Nastavte bod přerušení uvnitř pracovník metody zpětného volání podprocesu.

  2. Cílová aplikace spouštět v režimu ladění.

  3. Jakmile aplikace přestane na zarážku, spustit doplněk.

public static void TestThreadProperties(DTE 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(EnvDTE.Thread 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);
    }
}
Shared Sub ThreadProperties(ByRef dte As EnvDTE.DTE)
    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 EnvDTE.Thread 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()
    Next
    MessageBox.Show(str, "Thread Test - Properties")
End Sub

Zabezpečení rozhraní .NET Framework

Viz také

Referenční dokumentace

Thread Rozhraní

EnvDTE – obor názvů