StackFrame.Parent 속성
StackFrame 개체의 바로 위 부모 개체를 가져옵니다.
네임스페이스: EnvDTE
어셈블리: EnvDTE(EnvDTE.dll)
구문
‘선언
ReadOnly Property Parent As Thread
Get
Thread Parent { get; }
property Thread^ Parent {
Thread^ get ();
}
abstract Parent : Thread
function get Parent () : Thread
속성 값
형식: EnvDTE.Thread
Thread 개체입니다.
설명
Parent 속성은 StackFrame 개체의 바로 위 부모를 반환합니다. 포함하는 컬렉션을 가져오려면 Collection 속성을 사용합니다.
예제
다음 예제에서는 Parent 속성의 사용 방법을 보여 줍니다.
이 속성을 테스트하려면
대상 응용 프로그램에서 Main() 메서드 이외의 메서드 내부에 중단점을 설정합니다.
디버그 모드에서 대상 응용 프로그램을 실행합니다.
응용 프로그램이 중단점에서 멈추면 추가 기능을 실행합니다.
public static void TestStackFrames(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("Stack Frames Test");
owp.Activate();
EnvDTE.StackFrames stackFrames = dte.Debugger.CurrentThread.StackFrames;
owp.OutputString("\nNumber of items in the Current Stack collection: " +
stackFrames.Item(1).Collection.Count + "\n");
foreach(EnvDTE.StackFrame sf in stackFrames)
{
owp.OutputString("\nStack Frame: " + sf.FunctionName);
owp.OutputString("\n Edition of the environment : " + sf.DTE.Edition);
owp.OutputString("\n Language : " + sf.Language);
owp.OutputString("\n Locals");
EnvDTE.Expressions expressions = sf.Locals;
foreach(EnvDTE.Expression exp in expressions)
owp.OutputString("\n " + exp.Name + " = " + exp.Value);
owp.OutputString("\n Module : " + sf.Module);
owp.OutputString("\n Current Thread ID : " + sf.Parent.ID);
owp.OutputString("\n Return Type : " + sf.ReturnType);
}
}
Shared Sub TestStackFrames(ByRef dte As EnvDTE.DTE)
Dim str As String
Dim stackFrames As EnvDTE.StackFrames = dte.Debugger.CurrentThread.StackFrames
str = "Number of items in the Current Stack collection: " + _
stackFrames.Item(1).Collection.Count.ToString()
For Each sf As EnvDTE.StackFrame In stackFrames
str += vbCrLf + vbCrLf + " Stack Frame: " + sf.FunctionName
str += vbCrLf + " Edition of the environment: " + sf.DTE.Edition
str += vbCrLf + " Language: " + sf.Language
str += vbCrLf + " Locals"
Dim expressions As EnvDTE.Expressions = sf.Locals
For Each exp As EnvDTE.Expression In expressions
str += vbCrLf + " " + exp.Name + " = " + exp.Value.ToString()
Next
str += vbCrLf + " Module: " + sf.Module
str += vbCrLf + " Current Thread ID: " + sf.Parent.ID.ToString()
str += vbCrLf + " Return Type: " + sf.ReturnType
Next
MessageBox.Show(str, "Stack Frame Test - Properties")
End Sub
.NET Framework 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.