2017-07-11 10 views
0

現在の場所からスタックトレースを作成するにはどうすればよいですか?.NETの現在の場所からのスタックトレース

.NET 4.5作品で

このソリューション:

System.Diagnostics.StackTrace stackTrace = new System.Diagnostics.StackTrace(true); 
for (int i = 0; i < stackTrace.FrameCount; ++i) 
{ 
    System.Diagnostics.StackFrame frame = stackTrace.GetFrame(i); 
    MethodBase callerMethod = frame.GetMethod(); 
    ... 
} 

しかし、.NETのコア内の溶液は何ですか? コンストラクタpublic StackTrace(bool fNeedFileInfo)は存在しません。

答えて

3

UPDATE .NET Standard 2.0がリリースされ、コンストラクタが約束されています。


このタイプは現時点では利用できないようです。 this postでは、.net標準2.0に追加される予定です。

は、.NETのコア5.0をサポートしていSystem.Diagnostics.StackTrace nugetパッケージを使用し、.NET 1.3およびより

をスタンダールそれとも、.NETコアのmasterブランチを使用することができますことができます。

+0

ありがとうございます。ネット標準2.0を待っています。https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.StackTrace/ref/System.Diagnostics.StackTrace.cs – Cyrus

+0

fyi the 'StackTrace'型は' System.Diagnostics.StackTrace'のnugetパッケージを介して既に1.0で利用可能ですが、キャッチされた例外のためだけに新しいトレースを作成できるコンストラクタはありません。 'Environment.StackTrace'もありますが、あらかじめレンダリングされた文字列しか与えません。 –

関連する問題