【发布时间】:2015-06-09 13:20:12
【问题描述】:
假设我有一个启动两个线程 Thread_A 和 Thread_B 的类,每个线程都进行一些计算并偶尔使用我的类的子例程。 (不要担心数据共享,假设它是一个日志行或想象子例程是 Java 库中的一个方法)我想知道是否有一种方法可以将此子例程内的断点调整为已调用的子例程说 thread_A,而不是 B,或者说在此断点之前已命中某个断点。
显然,我总是可以进入调试窗口中的框架选项卡并查看调用者线程,但这很乏味。 thread_A 访问子例程的频率可能远低于 thread_B。我不想看到所有由 Thread_B 发起的断点。
我目前的做法是设置全局标志变量并在调用例程之前对其进行操作。然后我将断点的条件依赖于标志变量。但是,这可能不是非常线程安全且不是很干净。
这样做的正确方法是什么?出于好奇,是否有其他任何其他语言的 IDE 可以做到这一点?
【问题讨论】:
标签: java debugging intellij-idea concurrency ide