启动时调试java应用程序

raj*_*adu 6 java eclipse debugging

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

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

谢谢你的帮助提前.

Hei*_*upp 15

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

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

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8797,server=y,suspend=y
Run Code Online (Sandbox Code Playgroud)

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


Seb*_*ebi 2

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

您可以在此类中设置断点。至此,Tomcat已经完全启动,调试应该不会有任何问题。