4

在确定了一个特定的感兴趣的线程之后,是否可以在运行时以编程方式获取它的位置?

换句话说,我想看看这个线程当前正在执行哪个方法:

var executionThread = System.Threading.Thread.CurrentThread;

我知道在 VisualStudio 中调试时我可以在“线程”窗口中找到此信息,但我很难知道这是否可以在代码中获得。

我的目标是定期记录我在长时间运行的进程中监控的线程的位置。

4

1 回答 1

1

您将根据定义引入竞争条件——当另一个线程观察到被观察线程正在执行MethodX时,它可能已经移动到——MethodY因为它会持续运行。或者,您可以MethodX在查看时进行观察,但它大部分时间都花在MethodY. 你想做的事情可以用调试器和分析器来完成——这些将是你最好的选择,也是最可靠的。

于 2013-01-28T15:36:29.340 回答