如何通过eclipse跟踪堆栈?在我的代码中,我正在尝试上传文件,当我在应用程序中执行文件上传操作时,它只是挂起而没有错误消息。我已经尝试过调试,但它没有多大帮助。
答案 0 :(得分:2)
假设您正在从Eclipse运行应用程序,但是在像Glassfish或Tomcat这样的Java EE容器内,在异常对象上调用printStackTrace()方法(当被捕获时)将在Eclipse的控制台窗口中显示堆栈跟踪。在您的情况下,您首先需要知道是否正在抛出异常。我不建议在运行时创建一个Exception对象,只是为了从中推导出堆栈跟踪。
当然,在编写生产质量代码时,这不是一个好习惯,您应该考虑使用log4j,jul或slf4j等日志框架来跟踪应用程序行为。
如果push推进,则启用servlet容器的调试(这在容器之间有所不同),这样除了应用程序之外,您还可以跟踪容器本身的行为。
答案 1 :(得分:2)
答案 2 :(得分:1)
我建议逐步使用eclipse调试器找出它挂起的位置。当您单步执行时,这将自动为您提供堆栈跟踪。
我发现“步入”(F5)功能最有用,这使您可以递归地下载到函数中以探索正在发生的事情。
您可以在文件上传代码的开头设置断点,以便您可以在大致正确的位置开始单步执行。在我的Eclipse版本中,堆栈跟踪显示在相应线程下面左上角的“调试”窗格中。