Environment.StackTrace Propriedade

Definição

Obtém informações do rastreamento de pilha atual.

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

Valor da propriedade

Uma cadeia de caracteres que contém informações do rastreamento de pilha. Este valor pode ser Empty.

Exemplos

O exemplo a seguir demonstra a StackTrace propriedade .

// 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
open System

printfn $"\nStackTrace: '{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 <StartupCode$fs>.$Stacktrace.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()'
'

Comentários

A StackTrace propriedade lista as chamadas de método em ordem cronológica inversa, ou seja, a chamada de método mais recente é descrita primeiro e uma linha de informações de rastreamento de pilha é listada para cada chamada de método na pilha. No entanto, a StackTrace propriedade pode não relatar quantas chamadas de método forem esperadas devido a transformações de código que ocorrem durante a otimização.

Observação

Para uma exibição hierárquica das informações de rastreamento de pilha por classe, use a StackTrace classe .

A StackTrace propriedade formata as informações de rastreamento de pilha para cada chamada de método da seguinte maneira:

"em FullClassName.MethodName(MethodParams) em FileName :line LineNumber "

O literal "at" é precedido por três espaços e toda a subcadeia de caracteres que começa com "in" será omitida se os símbolos de depuração não estiverem disponíveis. Os espaços reservados, FullClassName, MethodName, MethodParams, FileNamee LineNumber, são substituídos por valores reais e são definidos da seguinte maneira:

FullClassName O nome completo da classe, incluindo o namespace .

MethodName O nome do método.

MethodParams A lista de pares tipo/nome de parâmetro. Cada par é separado por uma vírgula (","). Essas informações serão omitidas se MethodName não tiver parâmetros.

FileName O nome do arquivo de origem em que o MethodName método é declarado. Essas informações serão omitidas se os símbolos de depuração não estiverem disponíveis.

LineNumber O número da linha em FileName que contém o código-fonte de MethodName para a instrução que está na pilha de chamadas. Essas informações serão omitidas se os símbolos de depuração não estiverem disponíveis.

A Environment.NewLine cadeia de caracteres encerra cada linha do rastreamento de pilha.

Aplica-se a