gpt4 book ai didi

java - Eclipse 和其他用于调试并发代码的 Java IDE

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:09:23 26 4
gpt4 key购买 nike

我目前正在处理一些似乎有一些竞争条件的并发代码。我正在尝试使用当前的 IDE Eclipse 调试代码,但我并不完全满意。特别是,变量存在竞争条件,使得访问它的方法之一(“获取”它的方法)没有断点,变量设置方法不会完成,并且变量设置为 null。但是,如果我在访问方法上设置一个断点,并按住 F8(默认的跳过按钮),该变量几乎总是设置为正确的(非空)值。

这让我问以下问题:Eclipse 是否有可能没有足够快地暂停跨所有线程的断点执行,以至于我可以查看潜在的竞争条件,因为它出现时没有断点,或者是其他原因(可能)发生?

如果 Eclipse 不能快速暂停执行,是否有其他适用于 Java 的 IDE/调试器可以在这方面做得更好?请注意,我不是在寻找像 Java Pathfinder 这样的正式验证工具——我不想检查是否存在竞争条件,我希望看到它们在我的调试器中展开(如果只是因为它可能看起来很有趣的话)。

最佳答案

默认情况下,如果一个线程到达您的断点,Eclipse 将不会挂起其他线程。但是,您可以在 Window > Preferences > Java > Debug > Default suspend policy for new breakpoints => 'Suspend VM' 中更改此行为。

关于java - Eclipse 和其他用于调试并发代码的 Java IDE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3240726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com