仅在某个线程中停在断点处

时间:2013-09-11 16:50:21

标签: java eclipse multithreading debugging

我有一些多线程代码,我正在尝试在Eclipse中设置一些断点,以便我可以进行一些调试。

我想要设置的断点位于所有线程使用的类中。但是,我只想在主线程中遇到断点。有没有办法在Eclipse中执行此操作?

我曾尝试使用'条件'断点选项但无法使其工作。

3 个答案:

答案 0 :(得分:4)

条件断点方法很好。条件应如下:Thread.currentThread().getName().equals("main")

如果要为另一个线程设置断点,只需将"main"更改为特定于线程的名称,该名称可以通过Thread构造函数提供。

答案 1 :(得分:3)

您应该能够通过使用依赖于线程本地数据的条件来设置条件断点。两个例子:

  • Thread.currentThread().getName()
  • 存储在ThreadLocal
  • 中的一些值

答案 2 :(得分:2)

断点属性对话框中应该有一个项目过滤。在那里,您可以将断点限制为特定线程。但这仅在程序已经运行时才有效,因为该对话框显示了正在运行的JVM中的所有线程。