Java 执行什么代码

Java 执行什么代码,java,debugging,jakarta-ee,netbeans,reverse-engineering,Java,Debugging,Jakarta Ee,Netbeans,Reverse Engineering,我有一些J2EE应用程序,并且我能够看到该应用程序在其web界面中执行的操作。我也有应用程序的源代码。我想知道当我在web界面中单击某个东西时,实际执行的代码是什么找出这个问题的最佳方法是什么?我曾考虑将断点放在每个方法的第一行上,但手工操作非常烦人:-),所以我希望这是一种更好的方法 感谢您的回答。将日志消息添加到您的API是了解控制流的最佳且推荐的方法(也是历史上最强大的调试机制之一) 如果您愿意,您可以在DEBUG级别使用它们中的大多数,以便将它们从开发环境切换到生产环境(您很可能不需要它

我有一些J2EE应用程序,并且我能够看到该应用程序在其web界面中执行的操作。我也有应用程序的源代码。我想知道当我在web界面中单击某个东西时,实际执行的代码是什么

找出这个问题的最佳方法是什么?我曾考虑将断点放在每个方法的第一行上,但手工操作非常烦人:-),所以我希望这是一种更好的方法


感谢您的回答。

将日志消息添加到您的API是了解控制流的最佳且推荐的方法(也是历史上最强大的调试机制之一)


如果您愿意,您可以在
DEBUG
级别使用它们中的大多数,以便将它们从开发环境切换到生产环境(您很可能不需要它)。

将日志消息添加到您的API中是了解控制流的最佳且推荐的方法(也是历史上最强大的调试机制之一)


如果您愿意,您可以在
DEBUG
级别使用它们中的大多数,以便将它们从开发环境切换到生产环境(您很可能不需要它).

我认为apache logger是跟踪流的一种很好的方法..因为它都是自己编写的。eclipse提供了一个日志查看器插件,您可以通过它查看它..然而,对于web应用程序,我认为监视也很关键..使用jconsole可以查看正在执行的线程..使用jmap可以找到类和他加载了对象……我不知道输出是否按照加载顺序进行……如果是这样……那么你就可以很好地了解类是如何加载的……以及每个类所使用的实例。

我认为apache logger是跟踪流的一个很好的方法。因为它都是自己编写的。eclipse提供了一个日志查看器插件,通过它你可以可以查看..但是当涉及到web应用程序时,我认为监视也是至关重要的..使用jconsole你可以查看正在执行的线程..使用jmap你可以找到加载的类和对象..我不知道输出是否按照加载的顺序进行..如果是这样..那么你可以很好地了解类是如何执行的添加一个记录器。例如,您也可以使用记录器库。您也可以使用记录器库。例如,您也可以使用记录器库。

添加一个记录器库。您也可以使用记录器库。

添加一个仅将所有内容传递到链并将断点放在链上的记录器如何

确保web.xml中有正确的筛选器映射,并且断点应该位于所有匹配URL的方式中。

添加一个只将所有内容传递到链并将断点放在那里的方法如何


请确保在web.xml中有正确的筛选器映射,并且断点应该位于所有匹配的URL中。

您的应用程序部署在应用程序服务器上。您可以通过在调试模式下启动服务器进行调试。例如,JBoss有一个很好的eclipse应用程序。使用这些工具,只需按一下按钮即可进行调试(有bug的那个)

日志当然也是一种选择,虽然你不会得到那么多的细节。就个人而言,我更喜欢在一些方面优于commons

如果您不知道在何处设置断点/记录在何处,并且包结构没有帮助,则可以从EJB中的方法开始。例如,查找
@Stateless
@EJB
(找到注入点并从那里开始)之类的注释。

如果有servlet类,从那里开始,或者如果它是JSF前端,请查找
@ManagedBean
注释。

您的应用程序部署在应用程序服务器上。您可以通过在调试模式下启动服务器对其进行调试。例如,JBoss有一个很好的eclipse应用程序。有了这些工具,只需按一下按钮即可进行调试(有bug的那个)

日志当然也是一种选择,虽然你不会得到那么多的细节。就个人而言,我更喜欢在一些方面优于commons

如果您不知道在何处设置断点/记录在何处,并且包结构没有帮助,则可以从EJB中的方法开始。例如,查找
@Stateless
@EJB
(找到注入点并从那里开始)之类的注释。

如果有servlet类,从那里开始,或者如果它是JSF前端,请查找
@ManagedBean
注释。

日志记录如何?您甚至可以在不更改业务代码的情况下使用拦截器来实际执行此操作。日志记录也是我喜欢的最佳方式!此外,Netbeans提供了默认的本机调试器,这有助于完成h逐行调试。
CTRL+F5
F7
开始。如何进行日志记录?您甚至可以在不更改业务代码的情况下使用拦截器来实际执行此操作。日志记录也是我喜欢的最佳方式!此外,Netbeans提供了默认的本机调试器,它有助于逐行调试。
CTRL+F5
F7
开始单步执行。