我有一个用 C/C++ 编写的多线程 Linux 应用程序。我有为我的线程选择名称 https://stackoverflow.com/questions/149932/naming-conventions-for-threads。为了帮助调试,我希望这些名称在 GDB、“top”等中可见。这可能吗?如果可能的话如何实现?
(有很多知道线程名称的原因 https://stackoverflow.com/questions/763041/thread-names-when-do-you-need-to-know-them。现在我想知道哪个线程占用了 50% CPU(如“top”报告)。在调试时,我经常需要切换到不同的线程 - 目前我必须这样做“thread apply all bt
“然后查看回溯输出页面以找到正确的线程)。
The Windows 解决方案在这里 https://web.archive.org/web/20100322223513/http://msdn.microsoft.com/en-us/library/xcb2z8hs(VS.80).aspx; Linux 是什么?
Posix 线程?
这显然不会编译,但它会让你知道去哪里打猎。我什至不确定它是否正确PR_
命令,但我认为是的。有一阵子了...
#include <sys/prctl.h>
prctl(PR_SET_NAME,"<null> terminated string",0,0,0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)