溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java調(diào)試器怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2021-12-30 17:21:16 來源:億速云 閱讀:207 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“Java調(diào)試器怎么實(shí)現(xiàn)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Java調(diào)試器怎么實(shí)現(xiàn)”吧!

  什么是 JDB?

  雖然現(xiàn)在有一些很好的調(diào)試工具,然而 Java 調(diào)試器 (JDB) 提供了一些優(yōu)點(diǎn)。最重要的是 JDB 可以免費(fèi)獲取并且是平臺(tái)獨(dú)立的。其缺點(diǎn)是它只有命令行格式,一些開發(fā)人員認(rèn)為這很原始,而且難以使用。一些 IDE 已經(jīng)將 GUI 界面構(gòu)建到 JDB 調(diào)試 API(如 Jikes)。JDB 是 JDK 安裝的一部分。它在 Java 2 平臺(tái)中得到了增強(qiáng)。有關(guān)詳細(xì)信息,請(qǐng)參考關(guān)于 Java 調(diào)試 API 的章節(jié)。

  JDB 的詳細(xì)信息

  可以為調(diào)試多個(gè)項(xiàng)目配置 JDB。JDB 將查找 user.home 目錄中的 jdb.ini 配置文件。因此,對(duì)于每個(gè)項(xiàng)目,應(yīng)該將 user.home 特性設(shè)置成指向另一個(gè)目錄中的另一個(gè) .ini 文件??梢暂斎胍韵旅顏硗瓿纱瞬僮鳎?br/>
jdb -J-Duser.home=. //Will look in the current directory for the
//jdb.ini file

  jdb.ini 文件可以啟動(dòng) JDB 會(huì)話,傳遞參數(shù)并關(guān)于系統(tǒng)的信息。以下是 jdb.ini 文件的一個(gè)示例。它包括了源路徑列表中的 Java 平臺(tái)源碼,并將參數(shù) 34 傳遞給程序。然后它運(yùn)行并在第 2 行停止,顯示可用內(nèi)存并等待進(jìn)一步輸入。

load MyTest
stop at MyTest:20
use c:/java;c:/jdk/src
run MyTest 34
memory

  可以用 JDB 記錄調(diào)試會(huì)話。通過在運(yùn)行 JDB 的目錄中創(chuàng)建文件 .agentLog,以啟用日志記錄。在 .agentLog 文件中,在第一行中放入要將會(huì)話信息寫入其中的文件名。運(yùn)行 jdb 命令時(shí),將會(huì)看到 jdb 會(huì)話信息。日志文件可能包含以下內(nèi)容:

-------- debug agent message log --------
[debug agent: adding Debugger agent to system thread list]
[debug agent: adding Breakpoint handler to system thread list]
[debug agent: no such class: MyApplication.main]

  使用 JDB 和 Servletrunner 調(diào)試 Servlet 在下一章中,我們將完成一個(gè)練習(xí)使用 JDB 和 Servlet 引擎調(diào)試 Servlet。Tomcat 是與 JDB 對(duì)接得很好的 JSP/Servlet引擎。其它是 Windows 應(yīng)用程序 .exe 文件的 Servlet 引擎不能以調(diào)試方式運(yùn)行。然而,Tomcat 有一個(gè)啟動(dòng)腳本,該腳本允許您配置它以便調(diào)試。需要配置 TOMCAT_OPTS環(huán)境變量。 以調(diào)試方式運(yùn)行引擎還會(huì)影響 CLASSPATH。使用 -Xbootclasspath 以及在JDK 2.0 中找到的 rt.jar 和 tools.jar 文件的路徑來設(shè)置引導(dǎo)類路徑?;蛘?,可以使用 Servletrunner 進(jìn)行調(diào)試。Servletrunner 是 JSDK 附帶的應(yīng)用程序。它讓您可以不使用 Web 瀏覽器就運(yùn)行 Servlet。Servletrunner 運(yùn)行時(shí)就象 Java Web服務(wù)器,但又比 Java Web 服務(wù)器輕巧。它處理 Servlet 的HTTP 請(qǐng)求。Servletrunner 運(yùn)行 java sun.servlet.http.HttpServer 命令。應(yīng)該使用 HttpServer() 類來運(yùn)行jdb 會(huì)話。

  在調(diào)試 Servlet 時(shí),請(qǐng)記住 Java Web 服務(wù)器和 Servletrunner 不會(huì)通過在 CLASSPATH 中包括 Servlet 目錄來裝入和卸裝 Servlet。實(shí)際上,它們使用定制類裝入器,而不是缺省系統(tǒng)類裝入器。

到此,相信大家對(duì)“Java調(diào)試器怎么實(shí)現(xiàn)”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI