当我调试死锁情况失败者......那么我怎么发现错误?

时间:2015-04-07 13:53:53

标签: c multithreading debugging deadlock

对不起,我快要疯了!当我在C代码中打印消息时,不会发生死锁。但是当我不打印它们时,我有时会看到一个僵局。程序无法正常工作并永远等待。

我该如何找出有问题的情况?

学习曲线的其他任何方法都很小?

如果您想查看代码,请告诉我。由于它非常复杂,我没有把它放在这里。

1 个答案:

答案 0 :(得分:0)

伊兰的评论包含一些好主意。您可以使用的另一种可能是补充的方法是将您的调试输出分别为每个进程或每个线程的文件,以便您的打印不会强加任何排序。写作所花费的时间仍然有可能足以防止僵局,但这不是一个给定的。有时,每个进程的单独日志比交错的日志更容易阅读。