Thread2.Location 속성
디버깅하기 위해 프로세스를 중지했을 때 스레드에서 코드를 실행하고 있던 주소를 가져옵니다.
네임스페이스: EnvDTE90
어셈블리: EnvDTE90(EnvDTE90.dll)
구문
‘선언
ReadOnly Property Location As String
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 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.