Runtime: EventPipeController ctorは潜在的にArgumentNullExceptionをスローしますか?

作成日 2019年04月17日  ·  1コメント  ·  ソース: dotnet/runtime

EventPipeControllerのctorはAppContext.BaseDirectoryにアクセスし、結果をPath.Combineに渡します。これにより、BaseDirectoryがnullを返した場合にArgumentNullExceptionがスローされます。 BaseDirectoryは、Assembly.GetEntryAssembly()?. Locationを呼び出すGetBaseDirectoryCoreの結果を返します。 GetEntryAssemblyがnullを返す場合があります。その場合、GetBaseDirectoryCoreはnullを返します。この場合、Path.Combineがスローされ、EventPipeControllerctorがスローされます。 これは、Initializeメソッドでキャッチオールブロックによって食べられますが、そもそもスローしない方がよいようです。

EventPipe area-Tracing-coreclr bug

最も参考になるコメント

EventPipeのファイルベースの構成呼び出しは、問題が発生した場合にサイレントに失敗することを目的としています。前述のように、このロジックはtry / catch / finallyブロックにラップされています。 Eventpipeのファイルベースの構成呼び出しは、今後の変更で完全に削除される予定なので、今のところはそのままにしておきます。

>すべてのコメント

EventPipeのファイルベースの構成呼び出しは、問題が発生した場合にサイレントに失敗することを目的としています。前述のように、このロジックはtry / catch / finallyブロックにラップされています。 Eventpipeのファイルベースの構成呼び出しは、今後の変更で完全に削除される予定なので、今のところはそのままにしておきます。

このページは役に立ちましたか?
0 / 5 - 0 評価