当前位置: 首页 > 知识库问答 >
问题:

IntelliJ运行在断点处停止的所有线程

荆学民
2023-03-14

我的代码中有一个中断点,用来挂起所有的线程,但是为了测试一个bug,我想同时在该断点运行所有停止的线程,但是我无法找到它。我只能1乘1恢复线程,这对我的测试来说太慢了,有什么帮助吗?

共有1个答案

艾阳羽
2023-03-14

我想同时在断点运行所有停止的线程,但我想不通。

我不知道怎么做。听起来,您需要依赖线程的特定时间来找到您的bug,这将很难在调试器中重现。调试器也可能会破坏程序的内存同步,这意味着它很可能不会以与调试器外部相同的方式运行。

我认为您需要开始考虑其他方法来定位您的bug。使用system.out.println(...)消息进行调试有其自身的问题,因为它也会同步内存,但写入FileOutputStream或其他非同步日志记录可能是一种机制,可以提供有关线程正在执行的操作的信息,而不会对线程之间的交互产生太大影响。

调试线程程序真的很难。我现在正在研究一个海森虫,这样我就能理解了。祝你好运!

 类似资料:
  • 我需要做的是能够停止从一个实现runnable的线程类运行的所有线程。这就是我的意思:这里是我的“线程”类的开始: 这就是我如何创建多个线程来执行此操作: m是要创建的线程数。这可能是从50到1000的任何地方。现在我需要做的是突然立刻停止所有的动作。我该怎么做呢?

  • 问题内容: 这是执行程序类的方法: 在这里,它等待第二秒,但是当我运行代码时,它将引发异常: 我无法关闭中的并发线程破坏。这是我的代码流: 用Java执行程序类创建一个新线程来运行某些任务,即用 等待10秒以完成任务。 如果任务已完成,则可运行线程也将终止。 如果任务未在10秒内完成,则类应终止线程。 除了在最后一个场景中终止任务以外,其他所有操作都正常。我该怎么办? 问题答案: 该方法只是防止其

  • 问题内容: 我有一个多线程的Java项目,我想添加一个方法stop()来停止所有正在运行的线程。问题在于该项目是由其他人开发的,而我不熟悉它如何实现多个线程。 我知道的是,一旦项目开始,就会调用许多线程,并且它们将永远运行。有没有办法找到所有正在运行的线程并停止它们?我进行了很多搜索,找到了如何获取正在运行的线程的列表: 接下来要停止所有正在运行的线程该怎么办? 我想停止这些线程的原因是,我需要将

  • 我之所以要停止这些线程,是因为我需要将这个项目作为一个捆绑包部署到OSGi容器中。一旦包启动,多个线程将永远运行。因此,我需要实现一个destroy()方法来停止所有线程,以控制包的生命周期。 怎么样

  • 问题内容: 我有这段代码: 现在,我希望能够停止执行该线程。如何阻止它执行?例如,三秒钟后,我决定不再执行该命令,因此我想停止它。 问题答案: 您可以使用s。它们可以在s 上安排,并在执行前取消。

  • 问题内容: 我正在尝试拍摄JUnit。在源代码中,我在两个位置设置了断点:1)在初始化静态成员的行中2)在一个测试用例的第一行中。 调试器在静态字段初始化行中停止。但这并不会在测试用例中停止。无论我在测试用例中的何处设置断点,调试器都不会在那里停下来。我肯定知道测试用例已执行,因为我可以看到添加的日志消息出现在日志中。 任何帮助将不胜感激。 我正在使用Eclipse Galileo和JUnit4启