启动时调试java应用程序
这听起来可能有点幼稚,但在服务器启动期间,我总是很难调试java类。以下是场景:启动时调试java应用程序,java,eclipse,debugging,Java,Eclipse,Debugging,这听起来可能有点幼稚,但在服务器启动期间,我总是很难调试java类。以下是场景: java应用程序托管在tomcat服务器上 假设有一个类在tomcat服务器启动时被调用 一旦我停止tomcat实例以重新启动,eclipse调试就会停止,并且我只能在应用程序启动并运行后启动调试 现在我如何在eclipse上调试这个类 提前感谢您的帮助。在启动过程中调试类应该可以正常工作。例如,假设您实现了一个。所属contextInitialized方法在Tomcat启动期间调用(或者更准确地说,在部署应用
- java应用程序托管在tomcat服务器上
- 假设有一个类在tomcat服务器启动时被调用
- 一旦我停止tomcat实例以重新启动,eclipse调试就会停止,并且我只能在应用程序启动并运行后启动调试
- 现在我如何在eclipse上调试这个类
提前感谢您的帮助。在启动过程中调试类应该可以正常工作。例如,假设您实现了一个。所属contextInitialized方法在Tomcat启动期间调用(或者更准确地说,在部署应用程序时) 您可以在此类中设置断点。此时,Tomcat已经完全启动,调试应该没有任何问题。您需要将“等待调试器连接”标志传递给Tomcat。因此,启动将等待连接完成,因此不会错过断点 以使tomcat侦听调试器的java选项为例:
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8797,server=y,suspend=y
等待调试器连接标志是上行中的
suspend=y
项。在类中要调试的位置放置一个断点,并确保以调试模式启动服务器。我也会这样做。但是为了在eclipse上启动调试,服务器应该已经启动并运行,对吗?在此之前,当我单击调试符号时,它会抛出一个错误。当它开始工作的时候,类已经被调用了,我错过了它。嘿,Sebi,我当然可以设置断点。但是为了让断点工作,eclipse上的调试应该运行。。。我的问题是,在服务器完全启动并运行之前,调试不会在我的eclipse上运行。请使用远程调试尝试eclipse未启动的外部服务器。您可以在服务器上部署应用程序之前启动该服务器。之后,当您已经连接到服务器时,通过eclipse部署应用程序。如果断点仍然被忽略,请先尝试一个简单的测试应用程序。我通常不会通过eclipse启动服务器。我启动tomcat服务器(当然是自定义启动脚本),然后使用localhost和调试端口号钩住eclipse调试选项。