【问题标题】:Deterministic execution of Java Threads, Tool supportJava 线程的确定性执行,工具支持
【发布时间】:2011-03-16 05:40:09
【问题描述】:

我正在寻找一种工具或 api,它允许出于测试目的确定性地执行 Java 线程。因此,允许在字节码中的某些位置在 java 代码中进行上下文切换。例如,我希望线程 t1 在字节码/源代码中的第 N 行抢占另一个线程 t2,依此类推。为了使情况更简单,让我们忽略同步或锁定。是否有任何工具,如果可能的话,开源定制的 JVM 可用。我知道一些工具,如 dejavu、LEAP,但我想了解一些有使用此类工具经验的人推荐的开源工具。

干杯, 讲义

【问题讨论】:

标签: multithreading debugging jvm scheduling


【解决方案1】:

我不知道有什么工具可以完全满足您的需求,而且通常这会很困难,因为 JIT 等会模糊“线”的含义。所以你要么得到满足你目标的糟糕代码,要么得到不符合目标的真实代码。无论哪种方式,错误都可能溜走。我建议您查看ConTest,以更好地了解如何在这个一般领域进行测试。

【讨论】:

  • 谢谢特伦特,亚当。我的意思是,字节码指令。说,我希望线程 T1 在字节码指令 X 处暂停其执行,并让另一个线程 T2 从它暂停的地方恢复执行,或者如果它应该开始则开始。我记得读过有关 ConTest 的文章,但我不认为它是开源的。
  • JIT 肯定会改变“字节码指令 X”的含义。是的,ConTest 不是开源的,但我没有看到比你想要的更接近的东西,抱歉......
【解决方案2】:
猜你喜欢
  • 2010-11-18
  • 1970-01-01
  • 2020-07-11
  • 1970-01-01
  • 2010-10-03
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多