是否可以命名 CWinThread 线程?
我有一个 C++ 应用程序(VS2008),我启动这样的线程:
CWinThread *myThread= AfxBeginThread(myOp,0);
现在我要做的就是命名这个线程,这样我就可以在调试时识别它。
这听起来像是一个简单的任务,但我找不到方法来完成它。这可能吗?如果可能的话,如何实现?
I have a C++ application (VS2008), and I start threads like this:
CWinThread *myThread= AfxBeginThread(myOp,0);
Now all I wan to do is name this thread, so I can identify it while debugging.
It sounds like a simple task, but I could not find the way to do it. Is this possible, and if so, how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这可以相对容易地完成,如 MSDN:如何在本机中设置线程名称代码。
本质上,您向调试器发送一个包含名称和线程 ID 的神奇异常,然后调试器会跟踪并显示您发送给它的名称。
MSDN 文章中的示例代码如下:
This can be done relatively easily as documented on MSDN: How to set a Thread Name in Native Code.
Essentially you send the debugger a magic exception containing the name and the thread ID, and the debugger then keeps track of and displays the name you sent it.
The sample code from the MSDN article is included below: