Valgrind挂.如何查看是什么信号量引起的
Valgrind hangs. How to see what semaphore caused that?
在某个时刻,valgrind挂起了。CPU消耗为0,什么也没发生。valgrind进程的状态是usem
(FreeBSD)。这种情况发生在我尝试的所有模式:"默认模式",DRD和Helgrind启动固定时间后。
如何打破它并看到它现在所在的确切代码行?如何打破它,看到它等待的信号量?
首先要尝试的是使用gdb+vgdb来调试在valgrind下运行的应用程序。详见http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver
如果gdb+vgdb不明确,您可以尝试添加更多的valgrind跟踪(例如-v -v -v -d -d——trace-syscalls=yes——trace-signals=yes)如果这是一个线索。
相关文章:
- 没有信号处理程序的POSIX定时器的目的是什么?
- 部署在张量流中训练的神经网络来火炬C++的最佳方法是什么?
- 使用信号检测子进程何时终止的最佳方法是什么?
- 这个餐饮哲学家问题(dpp)的解决方案是如何工作的?互斥体和信号量
- 当我们关闭QT中的窗口时,发出的信号是什么
- 括号内括号内的含义是什么,以获得增强信号
- C++ 使用信号量而不是忙于等待
- 信号和插槽的效用是什么
- netbeans C++调试中的信号是什么
- 在发出等待条件变量的信号后,线程何时获取锁?是什么决定了它
- 如果我们不等待就发出信号量会发生什么
- 互斥信号量是如何工作的
- 是什么导致了这个张量外积中的无限模板递归
- 使用套接字,发出通信结束信号的最佳做法是什么
- Valgrind挂.如何查看是什么信号量引起的
- 为c++ 17提出的UTF-8字符字面量的意义是什么?
- 在SystemC中检查信号是否有效的最佳方法是什么?
- 信号11在析构函数调用中的可能原因是什么
- 分段故障错误(信号名称:SIGSEGV)的原因是什么,以及如何查找/修复它
- 使用移动成本低但复制量大的对象初始化容器的首选方法是什么