dsi*_*cha 6 language-agnostic debugging concurrency multithreading
什么是调试难以重现并发错误的一些技巧,例如每千次测试运行一次?我有其中一个,我不知道如何调试它.我无法在所有地方放置打印语句或调试器手表以观察内部状态,因为这会改变时间并在错误未成功复制时产生大量信息.
这是我的技术:我通常使用很多assert()来尽可能多地检查数据的一致性/有效性.当一个断言失败时,程序崩溃生成核心文件.然后我使用带有核心文件的调试器来了解导致数据损坏的线程配置.
归档时间: |
|
查看次数: |
1331 次 |
最近记录: |