我目前正在尝试调试同时使用 JavaFX 和 Swing 的中等规模(数十万行)Java 项目,并且我经常遇到一些奇怪的异常,我很确定这是因为 UI代码没有在正确的线程上调用。这些异常的堆栈跟踪根本没有帮助,因为它们几乎都源自 UI 绘图线程。
现在,我当然可以坐下来用牙梳调试每个 UI 调用,直到找到一个没有在正确线程上调用的调用,然后在整个项目中继续这样做,但这将是一项非常漫长的任务。是否有某种形式的更简单的方法来进行这种调试?例如,以某种方式导致 UI 代码打印出调试消息或在未从相应线程调用时抛出异常?