Environment.StackTrace Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém informação atual do rastreio da pilha.
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 de Propriedade
Uma cadeia que contém informação de rastreio de pilha. Este valor pode ser Empty.
Exemplos
O exemplo seguinte demonstra a StackTrace propriedade.
// 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()'
'
Observações
A StackTrace propriedade lista 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ção de traço de pilha é listada para cada chamada de método na pilha. No entanto, a StackTrace propriedade pode não reportar tantas chamadas de método como esperado devido a transformações de código que ocorrem durante a otimização.
Note
Para uma visão hierárquica da informação de rastreio da pilha por classe, use a StackTrace classe.
A StackTrace propriedade formata a informação do traço de pilha para cada chamada de método da seguinte forma:
"em FullClassName.MethodName(MethodParams) em FileName :line LineNumber "
O literal "at" é precedido por três espaços, e toda a substring que começa por "in" é omitida se não houver símbolos de depuração disponíveis. Os marcadores de posição, FullClassName, MethodName, MethodParams, FileName, e LineNumber, são substituídos por valores reais, e são definidos da seguinte forma:
FullClassName O nome completo da turma, incluindo o namespace.
MethodName O nome do método.
MethodParams A lista de pares de pares tipo/nome de parâmetros. Cada par é separado por uma vírgula (","). Esta informação é omitida se MethodName não tiver parâmetros.
FileName O nome do ficheiro fonte onde o MethodName método é declarado. Esta informação é omitida 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 da MethodName instrução que está na pilha de chamadas. Esta informação é omitida se os símbolos de depuração não estiverem disponíveis.
A Environment.NewLine cadeia termina cada linha do traço da pilha.