4

関心のある特定のスレッドを特定した後、実行時にその場所をプログラムで取得することは可能ですか?

つまり、このスレッドが現在実行しているメソッドを確認したいのです。

var executionThread = System.Threading.Thread.CurrentThread;

VisualStudio でデバッグしているときに、スレッド ウィンドウでこの情報を見つけることができることはわかっていますが、これをコードで取得できるかどうかはわかりません。

私の目標は、長時間実行されているプロセスで監視しているスレッドの場所を定期的に記録することです。

4

1 に答える 1

1

定義上、競合状態を導入することになります。別のスレッドが、監視対象のスレッド実行されていることを監視するまでに、別のスレッドMethodXに移動できた可能性がありMethodYます。これは、継続的に実行されているためです。または、MethodX見ると観察できますが、ほとんどの時間を で過ごしていましたMethodY。やりたいことは、デバッガーとプロファイラーを使用して実行できます。これらは、最善の策であり、最も信頼できるものです。

于 2013-01-28T15:36:29.340 に答える