Valgrind挂.如何查看是什么信号量引起的

Valgrind hangs. How to see what semaphore caused that?

本文关键字:信号量 是什么 何查看 Valgrind      更新时间:2023-10-16

在某个时刻,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)如果这是一个线索。

最后,您可以直接在valgrind上使用gdb。