中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣調試Tomcat源碼

發布時間:2021-12-08 18:26:13 來源:億速云 閱讀:171 作者:柒染 欄目:大數據

怎樣調試Tomcat源碼,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

今天以Tomcat源碼為例,來總結下源碼調試的方式。

例如問題的處理過程,大致是發現問題,分析問題,解決問題。源碼的調試我們簡單總結下:

獲取源代碼

Tomcat的源代碼下載方式也比較多

從github上下載(https://github.com/apache/tomcat)

從Tomcat的SVN服務器下載(http://svn.apache.org/repos/asf/tomcat/)

從Tomcat官網下載(http://tomcat.apache.org/download-80.cgi)

        每個版本的下載頁最下方都會有對應的源碼壓縮包供下載,如下圖

將源碼導入IDE

    這個工作每個Developer應該都沒有問題,我們不過多寫這個。

添加依賴

    導入到IDE之后,許多文件都會提示紅X,提示缺少依賴的jar文件。此時可以通過添加系統中已有的相關文件,如果是此Maven形式組織工程,可以直接添加相應的依賴。

運行應用

這一步需要先找到應用的入口,即Main-Class,之后執行該類即可。當然,有些應用在運行時需要必要的輸入參數,Tomcat就需要指定catalina.home。

這類入口應用,可以通過以下方式尋找:

如果應用是以jar文件的形式提供,那么在它的META-INF目錄內下會有一個

MANIFEST.MF文件。

如果jar文件中沒指定,或者應用是以腳本的形式啟動,可以從腳本中尋找其默認執行的類,例如Tomcat的啟動腳本catalina.bat中,就包含這樣的內容:

set MAINCLASS=org.apache.catalina.startup.Bootstrap

通過上述方式確定主類之后,根據需要配置相應的VM參數及應用自身的參數,代碼就跑起來了。之后根據想要了解的內容,設置斷點,開啟Debug之旅吧。

以上是通用的步驟,具體到Tomcat,我們來談一起具體的方式方法。

以工程形式調試

以Eclipse為例

首先創建一個工程Java工程。

導入源碼文件,此處可以有如下方式:

全部拷貝進來

以link source方式引入。(右擊項目,在build Path中選擇Link source)

將已安裝的Tomcat的lib下的jar文件添加到項目依賴中,再添加其它需要的jar文件,例如ant.jar

 設置主類

設置參數

點擊Debug,程序跑起來了,開始調試吧。

以Attach方式調試

新建工程,將源碼導入。此時可以把Tomcat以debug的方式啟動。為了在第一時間將代碼Attach到進程中,需要設置jpda啟動后自動暫停,等待應用連接。

可以在腳本文件catalina.bat中直接設置

set JPDA_OPTS=-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%

直接把上面紅色內容改成y即可,也可以先在命令行中設置一下

之后執行命令

catalina.bat jpda start

默認的連接端口是8000

之后,項目中直接以遠程調試的方式進行即可,

此時即可進行Tomcat的源代碼調試,如果在一啟動的時候就想跟蹤流程,可以先在Bootstrap中增加斷點,開始調試吧。

關于怎樣調試Tomcat源碼問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广河县| 阿克陶县| 石景山区| 巴彦淖尔市| 弋阳县| 讷河市| 鸡东县| 离岛区| 平凉市| 龙游县| 同德县| 黄浦区| 苍溪县| 苏尼特左旗| 会东县| 大城县| 明水县| 汝州市| 巴南区| 景谷| 新绛县| 沅陵县| 怀化市| 康定县| 甘南县| 右玉县| 永年县| 泽州县| 平凉市| 阳东县| 永丰县| 利辛县| 张北县| 汕尾市| 东乌珠穆沁旗| 宁南县| 吕梁市| 尖扎县| 盘锦市| 色达县| 景东|