Java - 如何调试任务<void>?

时间:2018-03-14 01:40:34

标签: java debugging exception

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

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

现在,我已经能够抓住Throwable来查看导致问题的原因,但这似乎是一个糟糕的想法,并且创造了比必要更多的工作。

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

1 个答案:

答案 0 :(得分:0)

一些方法:

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,在调试程序时它会挂起,只需在调试工具栏中单击“中断”或“暂停”,然后你就有机会调试进入该计划。