启动时调试java应用程序

时间:2012-09-24 11:26:38

标签: java eclipse debugging

这可能听起来有点天真,但在服务器启动期间我总是很难调试java类。这是场景:

  • java应用程序托管在tomcat服务器上。
  • 假设有一个在tomcat服务器启动时调用的类。
  • 一旦我停止重启tomcat实例,eclipse调试就会停止,只有在应用程序启动并运行后我才能启动调试。
  • 现在我如何在eclipse上调试这个类?

先谢谢你的帮助。

2 个答案:

答案 0 :(得分:14)

您需要将“等待调试器连接”标志传递给tomcat。因此启动将等到你连接,因此你不会错过断点。

例如,使用tomcat监听调试器的那些java选项:

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8797,server=y,suspend=y

等待调试器连接标志是上一行中的suspend=y条目。

答案 1 :(得分:2)

启动期间调试类应该没有问题。例如,假设您实现了ServletContextListener class。在Tomcat启动期间调用所属的contextInitialized方法(或者更准确地说:在部署应用程序时)。

您可以在此课程中设置断点。那时,Tomcat已经完全启动,调试应该没有任何问题。

相关问题