2017-07-25 90 views
0

我有一个Tomcat安装在服务器上,我希望能够检查debuggin是否被禁用/启用。我到处找,发现下面的说明:如何启用Tomcat调试

1. Open the user interface and navigate to Administration > System Management > Hosts > UI Server. 
2. Select "Use local settings" and check the boxes for Enable Tomcat Logging and Enable Tomcat Debugging. 
3. Save the changes and restart the services when prompted. 

的问题是,目前尚不清楚是否我需要安装额外的管理控制台访问这些功能。我将不胜感激任何帮助或指向正确的方向。预先感谢您

回答

0

您是否尝试使用浏览器导航到您的tomcat安装。它已经有一段时间,因为我使用tomcat,但我很确定有一个配置页在ip你运行你的tomcat。

+0

我没有导航到Tomcat页面,在'manager-gui'角色中添加了一个用户,并访问了页面的“管理应用”部分,但找不到与调试相关的任何内容。希望能得到一些帮助 – ElenaDBA

0

要在tomcat中启用调试,可以使用JPDA。 JPDA代表Java Platform Debugger Architecture,它是创建调试应用程序的工具。 要启用调试,您需要指定两件事。一种是在调试器和恶人之间移动位的传输机制,另一种是调试连接被接受的地址。现在取决于调试器的位置以及传送机制可能会有所不同。 按如下所示导出传输和地址变量。

出口JPDA_ADDRESS = 8000

出口JPDA_TRANSPORT = dt_socket

设置变量后,您可以使用以下命令来启动你的Tomcat。

sudo catalina.sh jpda start。

我假设你已经设置了TOMCAT_HOME环境变量正确如果没有的话通过去到tomcat的bin目录中启动它,并使用catalina.sh JPDA启动命令。

在调试模式下启动tomcat的另一种方式是使用JAVA_OPTS。设置完环境变量后,您可以执行以下命令。

出口JAVA_OPTS =“ - Xdebug的-Xrunjdwp:运输= dt_socket,服务器= Y,暂停= Y,地址= 8080“

在上面的命令的传输机制是dt_socket。这意味着用于在调试器和调试对象之间发送位的传输机制是套接字传输机制。其他传输机制是dt_shmem(共享内存shmem)。如果你想远程调试,然后去套接字机制。如果你不想调试一台遥远的计算机(调试器和歹徒在同一个系统中),那么你将使用共享内存。

suspend = y指示JVM以挂起模式启动并保持暂停状态,直到将调试程序附加到它。

值server = y用于打开套接字并侦听传入的调试器请求。

之后运行命令,须藤SH catalina.sh运行

+0

嗨。感谢您的答复。我实际上只是在寻找方法来检查是否启用或禁用调试。并可能在产品中启用它。它是否默认禁用?我如何检查? – ElenaDBA

1

我相信调试安装,但默认情况下不活跃。告诉的方法是看看你的启动脚本bin/catalina.sh或bin/startup.sh。当你执行startup.sh时,默认情况下,tomcat将以常规执行模式启动。您也可以从 ./catalina.sh start 开始,它在设置了一些传递给startup.sh脚本的变量后调用startup.sh。当您使用jpda参数执行catalina.sh时,它将构建参数以在调试模式下启动tomcat,其中包括 ./catalina.sh jpda start 。如果您可以在启动tomcat后访问您的应用程序 ./catalina.sh jpda start 您的应用程序正在调试模式下运行。

运行时信息被记录到logs/catalina.out,所以如果有一个阻止catalina.sh启动tomcat的问题,你很可能会在那里找到它。

以下是catalina.sh jpda选项的默认设置。如果你想改变这些,你可以在catalina.sh,startup.sh,setenv.sh(我必须在安装tomcat 8之后完成其中的一个)或者编写一个自定义启动脚本来设置调试传输和地址,然后调用catalina或使用适当的选项启动,以调试模式启动(下面的“agentlib”行)。

if [ "$1" = "jpda" ] ; then 
    if [ -z "$JPDA_TRANSPORT" ]; then 
     JPDA_TRANSPORT="dt_socket" 
    fi 
    if [ -z "$JPDA_ADDRESS" ]; then 
     JPDA_ADDRESS="localhost:8000" 
    fi 
    if [ -z "$JPDA_SUSPEND" ]; then 
     JPDA_SUSPEND="n" 
    fi 
    if [ -z "$JPDA_OPTS" ]; then 

JPDA_OPTS = “agentlib:JDWP =交通= $ JPDA_TRANSPORT,地址= $ JPDA_ADDRESS,服务器= Y,暂停= $ JPDA_SUSPEND” 网络 CATALINA_OPTS = “$ JPDA_OPTS $ CATALINA_OPTS” 转变 网络