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

속성 값

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 MethodName ( MethodParams ) in FileName : line LineNumber ""at FullClassName.MethodName(MethodParams) in FileName :line LineNumber "

리터럴 "at" 앞에는 세 개의 공백이 오고, 디버그 기호를 사용할 수 없는 경우에는 "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 FileName LineNumber 실제 값으로 대체 되며 다음과 같이 정의 됩니다.The placeholders, FullClassName, MethodName, MethodParams, FileName, and LineNumber, are replaced by actual values, and are defined as follows:

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

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

MethodParams 매개 변수 형식/이름 쌍의 목록입니다.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 .FileName The name of the source file where the MethodName method is declared. 디버그 기호를 사용할 수 없는 경우이 정보가 생략 됩니다.This information is omitted if debug symbols are not available.

LineNumber``FileName MethodName 호출 스택에 있는 명령에 대 한의 소스 코드를 포함 하는의 줄 번호입니다.LineNumber 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.

적용 대상