System.Diagnostics.StackFrameのパフォーマンスはWindows10で低下します

Windows10または.NETFramework4.7.1にアップグレードした後、 System.Diagnostics.StackFrameクラスを使用する.NET Frameworkアプリケーションを実行するとパフォーマンスが大幅に低下することに気付いた場合は、この投稿に興味があるかもしれません。原因を調べてから、エラーの既知の修正を提供します。

System.Diagnostics.StackFrameのパフォーマンスが低下します

System.Diagnostics.StackFrameのパフォーマンスが低下します

.NET Framework 4.7以前のバージョンで実行されている許容可能なパフォーマンスを備えたアプリケーションは、.NETFramework4.7.1で実行すると実行速度が遅くなります。アプリケーションは通常、.NET例外をスローするときにStackFrameに依存します。これが高速で発生する場合(1秒あたり10件を超えるインシデント)、アプリケーションの速度が大幅に低下し(10倍)、実行速度が以前よりも著しく遅くなる可能性があります。

System.Diagnostics.StackFrameのパフォーマンスが低下する原因(Cause of the System.Diagnostics.StackFrame performance degrade)

Windows10.NETFramework4.7.1では、ポータブルPDBファイル形式を検出および解析して、ファイルと行番号の情報をスタックトレースに表示するためのサポートが追加されました。この変更の一環として、スタックトレースの各関数の定義モジュールがチェックされ、そのモジュールがPortablePDB形式を使用しているかどうかが判断されます(PDB)内部キャッシュポリシーにいくつかの違いがあるため、ランタイムは、従来の(Due).NETFramework(Framework)バージョンが従来のWindowsPDBの検索に費やした時間よりも、(Windows PDBs)ポータブルPDB(Portable PDBs)の検索にはるかに多くの時間を費やします。

これにより、フォーマットされたスタックトレースの生成が以前よりも遅くなります。

この問題は、スローされる例外の数を変更しません。ただし、これらの例外を処理するアプリケーションの能力は大幅に低下します。

IKVMライブラリを使用するアプリケーションは、アセンブリをプローブする場合、この問題の影響を受けることがわかっています。アセンブリのプロービングは例外を引き起こすことが知られています。

System.Diagnostics.StackFrame(Fix System.Diagnostics.StackFrame)のパフォーマンス低下の問題を修正

この問題を解決するには、次のいずれかの方法を使用することをお勧めします(Microsoft)

1]ブール引数を取るStackFrameに別のコンストラクターを使用する(1] Use a different constructor for StackFrame that takes a Boolean argument)

これが推奨されるソリューションです。

アプリケーション開発者がアプリケーションに変更を加えることができる場合は、 System.Diagnostics.StackTraceを(System.Diagnostics.StackTrace.)呼び出します。(call the) #ctor(Boolean)コンストラクター。false引数を使用して、ソース情報のキャプチャを回避します。これにより、パフォーマンスが低下するコードのセクションが回避されます。

2]最新のWindows10バージョンへのロールバックまたはアップグレード(2]  Rollback or upgrade to the latest Windows 10 version)

この方法では、この問題が発生し、現在Windows 10の最新バージョンを実行していない場合は、以前のバージョン/ビルドにロールバックするか、最新バージョン/ビルド のWindows10upgrade to the latest version/buildます。また、 .NET Framework 4.7.1が存在する場合は、コンピューターからアンインストールしてから、以前のバージョンまたは最新バージョンの.NETFrameworkをダウンロードしてインストールし(download)ます(.NET Framework)

Hope this helps!



About the author

私は、ソフトウェア業界で 10 年以上の経験を持つ、推奨される Windows 10 の専門家です。私は Explorer と Office 365 の両方の専門知識を持っており、特にユーザーの個人設定と外観設定に熟練しています。私のスキルは、オンライン レビューを通じて優れた顧客サービスを提供し、AI などのテクノロジを活用してサポートを改善するという私のビジネスの中心にあります。



Related posts