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 ) в FileName : строка 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.

Применяется к