【发布时间】:2011-09-20 20:29:22
【问题描述】:
我正在使用 C# 4.0 (winforms) 调试具有 10 多个线程的应用程序。调试时,有一个下拉菜单可以选择我应该调试哪个线程(只能在断点期间访问)。
这些显示为“Win32 线程”、“工作线程”、“RPC 回调线程”等...
我很想在我的代码中为它们命名。我正在通过后台工作人员运行我的所有线程。
编辑:我的解决方案。这可能不会 100% 有效,但它确实可以满足需要。如果标签在某些情况下是错误的,那在我正在使用的上下文中是可以的。
在每个后台工作人员的 *_dowork 事件中,我都将以下代码行放入:
ReportData.TrySetCurrentThreadName(String.Format("{0}.{1}", MethodBase.GetCurrentMethod().DeclaringType, MethodBase.GetCurrentMethod().Name));
这是……
public static void TrySetCurrentThreadName(String threadName)
{
if (System.Threading.Thread.CurrentThread.Name == null)
{
System.Threading.Thread.CurrentThread.Name = threadName;
}
}
【问题讨论】:
标签: c# winforms visual-studio debugging ide