3

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

我要设置的断点位于所有线程使用的类中。但是,我只希望在主线程中时触发断点。有没有办法在 Eclipse 中做到这一点?

我曾尝试使用“条件”断点选项,但无法使其正常工作。

4

3 回答 3

6

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

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

于 2013-09-11T16:58:49.750 回答
3

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

  • Thread.currentThread().getName(),
  • 一些值存储在 a 中ThreadLocal
于 2013-09-11T16:56:23.703 回答
2

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

于 2013-09-11T17:28:39.990 回答