【发布时间】:2009-06-06 19:29:52
【问题描述】:
我在多进程程序中有一个错误。该程序接收输入并立即产生输出,不涉及网络,也没有任何时间参考。 导致此错误的原因难以追查的原因是它只发生有时。
如果我不断运行它,它会产生正确和错误的输出,没有可辨别的顺序或模式。
什么会导致这种不确定的行为?有没有可以提供帮助的工具?有可能存在未初始化的变量。我如何找到这些?
编辑:问题已解决,感谢任何建议的人 比赛条件。 我没有想到它主要是因为我确信我的设计可以防止这种情况发生。问题是我使用了 'wait' 而不是 'waitpid',因此有时,当某个进程幸运地在我期望的进程之前完成时,事情的正确顺序就会变得疯狂。
【问题讨论】:
标签: c linux debugging deterministic