2017-07-25 81 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」 轉變 網絡