因此,我们使用Netbeans 6.9.1,将代码推送到SVN服务器( DEV ),并运行连接到MySQL的本地we服务器(Tomcat)。我们可以在调试模式下运行并逐步完成代码。
但是,我们将WAR文件推送到生产机器(在生产数据库上)。这台机器与开发完全分开。
但我们经常遇到问题。比如Hibernate中的null id,当我们对所有列进行三次检查时,等等。
我们需要的是一种将调试器附加到PRODUCTION用户并逐步遍历代码的方法。
我们有什么选择?
谢谢你的建议。
编辑
我想发布更多的信息。感谢那些提出建议的人。
首先,我们的生产服务器托管了3个应用程序(以及prod db)。我们遇到的问题最多的应用程序只有一个用户,而且数据与开发中的数据几乎完全相同。我们在JDBC中遇到了事务问题,无法找到它们的来源。
发布于 2011-10-18 20:34:01
如果您真的想将调试器附加到正在运行的生产服务器上,Java完全能够做到这一点。首先,使用以下命令运行服务器/JVM:
-Xrunjdwp:transport=dt_socket,address=8778,server=y,suspend=n现在您可以使用prd_server:8788地址在月食或IntelliJ理念中附加您的IDE。
然而,很少有问题:
发布于 2011-10-18 20:35:43
您可以使用配置Tomcat以允许远程调试器连接,但我不建议这样做,因为在附加调试器时,您将大大减慢JVM的执行速度,而且我相信,每当命中断点时,所有线程的执行都会暂停。
使用开发服务器上的生产数据、添加更多日志等等来重新创建这个问题要好得多。
发布于 2011-10-18 20:38:56
在尝试调试Prod之前,将Prod数据迁移到Dev env并在那里进行调试。如果在非Prod env中有针对Prod数据的安全策略,则根据需要对数据进行清理。
如果问题与数据有关,您应该相当快地处理它。
https://stackoverflow.com/questions/7813269
复制相似问题