gpt4 book ai didi

multithreading - GDB 可以显示每个线程持有的 pthread 互斥锁列表吗?

转载 作者:行者123 更新时间:2023-12-04 23:09:28 25 4
gpt4 key购买 nike

我将 GDB 附加到用 pthreads 编写的死锁应用程序。大约有 10 个线程都被阻塞了,我想知道哪些线程持有哪些锁。这在使用 SOS.dll 的 WinDbg 中是可能的;这在 GDB 中可能吗?

最佳答案

在至少一种 Linux 版本上,C++11 std::mutex 有一个名为 __owner 的成员,它包含当前锁定互斥锁的线程的线程 ID。在 gdb 中使用“信息线程”会显示 gdb 使用的线程编号以及线程 ID(请参阅“LWP”编号),允许您切换到该线程(“线程 N”),然后检查调用堆栈(“backtrace ”)。

关于multithreading - GDB 可以显示每个线程持有的 pthread 互斥锁列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3983676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com