IntelliJ IDEA
 
获取 IntelliJ IDEA

调试异步代码

最后修改时间:2023 年 8 月 23 日

调试异步代码是一项挑战,因为任务通常在一个线程中调度并在另一个线程中执行。每个线程都有自己的堆栈跟踪,因此很难弄清楚线程启动之前发生了什么。

IntelliJ IDEA 通过在不同线程中的框架之间建立连接,使其变得更加容易。这使您可以从工作线程回溯到调度任务的位置并调试程序,就好像所有执行都在同一个线程中一样。

要尝试异步堆栈跟踪,请调试以下示例:

当我们停在方法中的断点处时printNum(),有两个堆栈跟踪可供我们使用:

  • 当前线程(工作线程)

  • 主线程(任务被调度的地方)

异步堆栈跟踪