您好,登錄后才能下訂單哦!
怎樣調試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源碼問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。