【发布时间】:2013-09-07 14:51:17
【问题描述】:
我目前正在尝试调试一个同时使用 JavaFX 和 Swing 的中等规模(大约 10 万行)Java 项目,而且我经常遇到一些奇怪的异常,我很确定是因为没有在正确的线程上调用 UI 代码。这些异常的堆栈跟踪根本没有帮助,因为它们几乎都源自 UI 绘制线程。
现在,我当然可以坐下来用一把牙梳调试每个 UI 调用,直到找到一个没有在正确线程上调用的调用,然后在整个项目中继续这样做,但这将是一项极其漫长的任务。是否有某种形式的更简单的方法来进行这种调试?例如,以某种方式导致 UI 代码打印出调试消息或在未从相应线程调用时抛出异常?
【问题讨论】:
-
A. Potochkin 收集了很多不错的技术:weblogs.java.net/blog/alexfromsun/archive/2006/02/…。使用 aspectj 规则集非常有效。
标签: java swing user-interface javafx ui-thread