【问题标题】:Java - How to Debug Task<Void>?Java - 如何调试任务<Void>?
【发布时间】:2018-08-22 10:30:19
【问题描述】:

我的项目中有一个长时间运行的Task,我很难调试。据我了解,Task 永远不会抛出异常,也不会允许其中的任何代码这样做。

在测试应用程序时,我遇到了许多执行只是挂起、没有错误、没有警告、什么都没有的情况。

现在,我已经能够赶上Throwable,而不是查看导致问题的原因,但这似乎是个糟糕的主意,而且会造成不必要的工作。

所以我的问题是,作为一个业余程序员,当我看不到异常时,我应该如何调试我的 Task 中的代码?

【问题讨论】:

    标签: java debugging exception


    【解决方案1】:

    一些方法:

    1) 显示足够多的日志(例如:System.outlogbacklog4j2

    void taskMethod() {
        System.out.println("Tip1");
        doSomething1();
        System.out.println("Tip2");
        doSomething2();
        System.out.println("task over");
    }
    

    2)当任务挂起而不退出时,可以使用jstack显示堆栈,查看任务挂起的位置。

    3) 使用Intellij IDEAEclipse 之类的IDE,当调试程序并挂起时,只需单击调试工具栏中的“Break”或“Pause”,您就有机会调试程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-17
      • 2021-11-28
      • 2021-10-31
      • 2020-08-25
      • 2016-09-25
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多