我有一个多线程实现,我想用 Helgrind 测试它的死锁。我已经运行它们并根据 Helgrind 生成的输出成功删除了所有数据竞争和死锁。现在我想知道 Helgrind 如何检测这些错误。它是从源代码中生成所有可能性并根据这些可能性进行分析,还是仅将结果基于它所看到的运行时交错的特定实例?
问问题
142 次
我有一个多线程实现,我想用 Helgrind 测试它的死锁。我已经运行它们并根据 Helgrind 生成的输出成功删除了所有数据竞争和死锁。现在我想知道 Helgrind 如何检测这些错误。它是从源代码中生成所有可能性并根据这些可能性进行分析,还是仅将结果基于它所看到的运行时交错的特定实例?