【发布时间】:2019-01-31 06:24:31
【问题描述】:
Helgrind 在运行时冻结。退出运行必须应用 CTRL+C (SIGINT)。
我编写了一个可以正确执行的程序,如果没有使用--tool=helgrind 以通常的方式运行,valgrind 不会报告任何程序。但是当使用 helgrind 时,程序会在运行时停止。
我没有发现任何导致 helgrind 出现这种行为的典型问题。有任何提示吗?我使用vgdb 也找不到任何问题。
编辑:该程序使用信号量和 pthreads。
编辑:添加一堆 fprintf 输出使 helmgrind 工作得很好。为什么呢?
【问题讨论】:
-
你能去掉你的代码来提供一个 {mcve] 来证明你的问题吗?
-
很难做到,因为程序很大,但我只是注意到,如果我添加一些
fprintf函数,程序可以正常工作。所以我想我出于某种原因需要刷新一些输出...... -
当应用程序在 hlgrind 下冻结时,您使用 vgdb 观察到什么?你的线程在做什么?