我有一个用C/C++编写的多线程Linux应用程序.我为我的线程选择了名字.为了帮助调试,我希望这些名称在GDB,"top"等中可见.这是可能的,如果是这样,如何?
(有很多理由知道线程名称.现在我想知道哪个线程占用了50%的CPU(由'top'报告).而且在调试时我经常需要切换到不同的线程 - 目前我必须做" thread apply all bt"然后查看回溯输出页面以找到正确的线程).
该视窗解决方案就在这里 ; 什么是Linux?
在Windows中,可以通过此代码设置线程名称.然后,线程名将显示在调试器中.
在MacOSX中,我看到了几个提示,表明有线程名称.我认为NSThread类也有一个名称属性.我的目标是我可以在我的C++应用程序中设置threadname并在Xcode/gdb中查看它.
其他相关问题:
如何为Win32线程设置名称.我没有找到任何Win32 API来实现相同的目标.基本上我想在日志文件中添加线程名称.TLS(线程本地存储)是唯一的方法吗?