Java - 如何调试任务 ?

问题描述 投票:1回答:1

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

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

现在,我已经能够捕捉Throwable而不是看看是什么导致了这个问题,但这似乎是一个糟糕的想法,并且创造了比必要更多的工作。

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

java debugging exception
1个回答
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,在调试程序时它会挂起,只需在调试工具栏中单击“中断”或“暂停”,然后你就有机会调试程序。

© www.soinside.com 2019 - 2024. All rights reserved.