- 主题:请教,多个线程如何快速定位哪个线程崩溃
使用std::thread创建了多个线程,不确定运行中哪个线程运行错误,请问有什么有效的方法能够快速定位,谢谢
--
FROM 117.107.176.*
是的,我这是这么想的,用qt写代码的时候用过,但到了c++11 std::thread 这不太会了
【 在 jszizsj (jszizsj) 的大作中提到: 】
: 可以给线程起名字。gdb能看到线程名字。
--
FROM 117.107.176.*
请问用std::thread()创建的线程也能这么命名吗,我没找到使用的方式
【 在 jszizsj (jszizsj) 的大作中提到: 】
: 标 题: Re: 请教,多个线程如何快速定位哪个线程崩溃
: 发信站: 水木社区 (Wed Sep 1 16:50:12 2021), 站内
:
: 一行代码就可以了。
:
: Linux是 pthread_setname_np 函数,Windows应该也有类似的。
:
:
: 【 在 wishie (抗击时间) 的大作中提到: 】
: : 是的,我这是这么想的,用qt写代码的时候用过,但到了c++11 std::thread 这不太会了
:
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 124.207.9.*]
--
FROM 117.107.176.*
您的意思是在线程函数中用std::thread::native_handle() 和 pthread_setname_np()配合使用吗
【 在 jszizsj (jszizsj) 的大作中提到: 】
: 可以的。写在std::thread绑定的函数体里面即可。
--
FROM 117.107.176.*
dmesg中好像能看到崩溃的模块名字,线程我猜可能,还没试
【 在 qlogic (戒网了) 的大作中提到: 】
: 标 题: Re: 请教,多个线程如何快速定位哪个线程崩溃
: 发信站: 水木社区 (Thu Sep 2 09:26:03 2021), 站内
:
: 线程崩溃程序不会crash吗?
: 【 在 wishie (抗击时间) 的大作中提到: 】
: : 使用std::thread创建了多个线程,不确定运行中哪个线程运行错误,请问有什么有效
: : 的方法能够快速定位,谢谢
:
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 119.139.199.*]
--
FROM 117.107.176.*
谢谢,这个用法见过,现在去试试
【 在 jszizsj (jszizsj) 的大作中提到: 】
: pthread_setname_np(pthread_self(), name.substr(0, 15).c_str());
--
FROM 117.107.176.*