Environment.StackTrace 속성

정의

현재 스택 추적 정보를 가져옵니다.Gets current stack trace information.

public:
 static property System::String ^ StackTrace { System::String ^ get(); };
public static string StackTrace { get; }
member this.StackTrace : string
Public Shared ReadOnly Property StackTrace As String

속성 값

스택 추적 정보가 포함된 문자열입니다.A string containing stack trace information. 이 값은 Empty일 수 있습니다.This value can be Empty.

예제

다음 예제는 StackTrace 속성입니다.The following example demonstrates the StackTrace property.

// Sample for the Environment::StackTrace property
using namespace System;
int main()
{
   Console::WriteLine();
   Console::WriteLine( "StackTrace: ' {0}'", Environment::StackTrace );
}

/*
This example produces the following results:

StackTrace: '   at System::Environment::GetStackTrace(Exception e)
at System::Environment::GetStackTrace(Exception e)
at System::Environment::get_StackTrace()
at Sample::Main()'
*/
// Sample for the Environment.StackTrace property
using System;

class Sample 
{
    public static void Main() 
    {
    Console.WriteLine();
    Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace);
    }
}
/*
This example produces the following results:

StackTrace: '   at System.Environment.GetStackTrace(Exception e)
   at System.Environment.GetStackTrace(Exception e)
   at System.Environment.get_StackTrace()
   at Sample.Main()'
*/
' Sample for the Environment.StackTrace property
Class Sample
   Public Shared Sub Main()
      Console.WriteLine()
      Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace)
   End Sub
End Class
'
'This example produces the following results:
'
'StackTrace: '   at System.Environment.GetStackTrace(Exception e)
'   at System.Environment.GetStackTrace(Exception e)
'   at System.Environment.get_StackTrace()
'   at Sample.Main()'
'

설명

StackTrace 속성은 메서드 호출을 역방향 시간 순서로 나열 합니다. 즉, 가장 최근의 메서드 호출이 먼저 설명 되 고 스택의 각 메서드 호출에 대해 스택 추적 정보 한 줄이 나열 됩니다.The StackTrace property lists method calls in reverse chronological order, that is, the most recent method call is described first, and one line of stack trace information is listed for each method call on the stack. 그러나 StackTrace 속성은 최적화 중에 발생 하는 코드 변환으로 인해 예상 되는 수 만큼의 메서드 호출을 보고 하지 않을 수 있습니다.However, the StackTrace property might not report as many method calls as expected due to code transformations that occur during optimization.

참고

클래스에의 한 스택 추적 정보의 계층 뷰에 대해서는 StackTrace 클래스를 사용 합니다.For a hierarchical view of the stack trace information by class, use the StackTrace class.

StackTrace 속성은 다음과 같이 각 메서드 호출에 대 한 스택 추적 정보의 서식을 지정 합니다.The StackTrace property formats the stack trace information for each method call as follows:

"FullClassName. FileName: 줄 LineNumber "의MethodName(MethodParams)"at FullClassName.MethodName(MethodParams) in FileName :line LineNumber "

"At" 리터럴 공백 3 개가 오는 및 디버그 기호를 사용할 수 없는 경우 "in"을 사용 하 여 시작 하는 전체 부분 문자열이 생략 됩니다.The literal "at" is preceded by three spaces, and the entire substring starting with "in" is omitted if debug symbols are not available. 자리 표시자, FullClassName, MethodName, MethodParams, FileNameLineNumber는 실제 값으로 대체 되며 다음과 같이 정의 됩니다.The placeholders, FullClassName, MethodName, MethodParams, FileName, and LineNumber, are replaced by actual values, and are defined as follows:

FullClassNameFullClassName
네임 스페이스를 포함 하 여 클래스의 전체 이름입니다.The full name of the class, including the namespace.

MethodName
메서드의 이름입니다.The name of the method.

MethodParams
매개 변수 유형/이름이 쌍의 목록입니다.The list of parameter type/name pairs. 각 쌍은 쉼표로 구분 됩니다 (",").Each pair is separated by a comma (","). MethodName 매개 변수를 사용 하지 않는 경우이 정보는 생략 됩니다.This information is omitted if MethodName takes no parameters.

FileName
MethodName 메서드가 선언 된 소스 파일의 이름입니다.The name of the source file where the MethodName method is declared. 디버그 기호를 사용할 수 없는 경우이 정보가 생략 됩니다.This information is omitted if debug symbols are not available.

LineNumber
호출 스택에 있는 명령에 대해 MethodName 소스 코드를 포함 하는 FileName의 줄 번호입니다.The number of the line in FileName that contains the source code from MethodName for the instruction that is on the call stack. 디버그 기호를 사용할 수 없는 경우이 정보가 생략 됩니다.This information is omitted if debug symbols are not available.

Environment.NewLine 문자열은 스택 추적의 각 줄을 종료 합니다.The Environment.NewLine string terminates each line of the stack trace.

보안

EnvironmentPermission
사용 권한으로 보호 되는 리소스에 대 한 전체 액세스 합니다.for full access to the resource protected by the permission. 연결 된 열거형: UnrestrictedAssociated enumeration: Unrestricted

적용 대상