在本机代码中设置线程名称

在 Visual Studio 的任何版本中都可以使用线程命名功能。 当调试正在运行的进程时,线程命名有助于标识 "线程" 窗口中感兴趣的线程。 在通过故障转储检查并使用各种工具分析性能捕获时,具有 recognizably 命名的线程也会有所帮助。

设置线程名称的方法

可以通过两种方法来设置线程名称。 第一种方式是通过SetThreadDescription函数。 第二种方法是在 Visual Studio 调试器附加到进程时引发特定异常。 每种方法都有优点和注意事项。 从 Windows 10 版本1607或 Windows Server 2016 开始,支持使用 SetThreadDescription

值得注意的是,_这两_种方法可以一起使用(如果需要),因为它们的工作机制彼此独立。

使用 SetThreadDescription 设置线程名称

优点:

  • 在 Visual Studio 中进行调试时,线程名称是可见的,无论调试程序是否已在调用 SetThreadDescription 时附加到进程。
  • 在 Visual Studio 中加载故障转储后,线程名称将在执行事后调试时可见。
  • 使用其他工具(如WinDbg调试器和Windows 性能分析器性能分析器)时,也会显示线程名称。

注意:

  • 线程名称只在 Visual Studio 2017 版本15.6 及更高版本中可见。
  • 当事后调试故障转储文件时,只有在 Windows 10 版本1607、Windows Server 2016 或更高版本的 Windows 上创建了崩溃后,线程名称才可见。

示例:

C++

标签: none

添加新评论