我们的应用程序遵循these instructions在Windows上的本机c ++中设置线程的名称。
如果在设置线程名称之前附加,则线程名称在visual studio的线程窗口中显示正常,但是如果在设置线程名称后附加,则只看到一些默认名称“msvcr120d.dll”。
有没有办法确保无论何时附加都会显示线程名称?
答案 0 :(得分:3)
Windows操作系统中的线程对象没有名称。命名线程纯粹是调试器的一个特性。代码设置'线程的名称会引发调用程序捕获的MS_VC_EXCEPTION
以及用于调试体验的信息。如果没有调试器,则异常过滤器将继续执行。
换句话说:您不能拥有命名线程,除非您按照How to: Set a Thread Name in Native Code 调用SetThreadName
函数之前附加调试器。