麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Java調試教程--使用Jikes進行調試

2019-11-18 14:24:40
字體:
來源:轉載
供稿:網友

  摘要

  在本練習中,我們將調試 LinkTree.java 程序。其實代碼并沒有錯誤;然而我們完成調試過程只是為了把握這個過程。


--------------------------------------------------------------------------------



  Java調試教程--使用Jikes進行調試(上)

  SUN Laura Bennett

  啟動 JD

  在本練習中,我們將調試 LinkTree.java 程序。其實代碼并沒有錯誤;然而我們完成調試過程只是為了把握這個過程。

  開始調試

  首先使用以下命令編譯程序:


javac -g LinkTree.java



  該命令將執行:


e:jdk1.1.6injava -verbose -nojit
-classpath %JD%;%JDK% jd.Main
-classpath %JD%;%JDK%;%CLASSPATH%
-sourcepath e:jikes %1 %2 %3 %4 %5 %6 %7 %8 %9



  調試器啟動并裝入 LinkTree 類,它包含了 main() 方法,安裝它以便調試。可以通過在命令 jd 后的命令行上輸入參數(如 URL,用于開始打印頁面鏈接)來傳遞這些參數。

  使用 Console 面板

  Console 面板顯示了所有運行時異常。所有錯誤流都打印到這里。當應用程序請求時,您也可以在這里輸入輸入信息。文本信息都打印到 Console 面板。

  在 Source editor 面板中逐行單步調試

  讓我們開始調試應用程序,使用的方法是逐行單步調試應用程序。從菜單或使用鼠標右鍵選擇 Step Into。步入程序將通知調試器開始執行當前源碼。始終從應用程序中的main() 方法開始執行。現在應該看到其它填充了信息的面板。我們將提供關于每個面板的討論和如何使用每個面板的描述。通過單擊窗口的右下方的 Step Over 按鈕,逐行單步調試代碼。將以白色突出顯示當前行。不幸的是,不能在左邊看到行號,所以我們將在內容中指出行號。下圖中顯示了用于單步調試的按鈕。假如將鼠標放在任何一個按鈕上,將出現一個彈出框,說明該按鈕的功能。Stepping into 單步進入方法。Stepping Over 轉到同一個方法中的下一個語句。Stepping Out 返回到當前方法的調用程序。Run 按鈕一直運行到下一個斷點或程序結束。

  在 Source editor 面板中設置斷點

  在某一行代碼上單擊鼠標左鍵來設置斷點。您將看到在所選擇行的左邊有一個紅色圓圈,當中有一個贊嘆號。設置斷點時,代碼將運行到用斷點符號標記的那行。假設您正在嘗試觀察一段特定代碼,而這段代碼很深,以至于逐行單步調試需要很長時間。解決方案是在希望程序停止的位置設置斷點。

  本例中,讓我們設置斷點來監控 links 的值。假如此時應用程序正在調試器中運行,單擊 Stop 按鈕以終止執行。應用程序終止后,轉至應用程序的源代碼并用鼠標左鍵單擊


Vector links = new Vector(); 語句(在以下代碼樣本中以粗體字顯示)。
// Recursive method to list all urls in site
PRivate void listAll( int depth )
{
Vector links = new Vector();
{
printURL( depth );
//links = parseHtmlContainsLinks(getName());
}
if( !((links =
parseHTMLContainsLinks(getName())).isEmpty(
)))
{
//links = parseHTMLContainsLinks(getName());
for( int i = 0; i < links.size(); i++ )
{
if
(!(excludedURLS.contains((String)links.elementAt(
i))))
{
LinksTree child = new
LinksTree((String)links.ele
mentAt(i));
child.listAll( depth + 1 );
}
}
}
}

  Source 編輯器窗口將顯示帶有以下斷點的代碼。

  運行應用程序,并觀察它在包含斷點的那行停止。可以對代碼的運行情況執行更深入的分析。下一屏中,我們將討論檢查變量。請注重,檢查了變量之后,可以使用 Run 或Step Into 按鈕執行逐行單步調試或繼續完整的、不間斷的執行。

在 Locals 面板中檢查變量設置了斷點且應用程序暫停之后,Local 面板將顯示所有局部變量引用。以下示例中顯示了局部變量在應用程序中當前設置的斷點位置的狀態。可以看到,顯示每個局部變量的同時,還顯示其相關的類型和值。

  在 Callers 面板中查看調用堆棧調用堆棧是一個列表,它列出了在執行的斷點位置之前已經調用或執行過的類。最近調用或執行的方法在堆棧的頂部。從上往下數第二個元素發出了一個調用來執行最頂部的方法,依次類推。在以下示例中,從 main() 方法中調用了 listAll()。

  在 Threads 面板中檢查線程由于 Java 代碼是多線程,因此它必須能夠監控個別線程的進程。Threads 顯示了當前正在執行的線程的狀態。在我們的代碼中,只有一個線程。在更復雜的應用程序中,可能會看到在 thread 面板中列出了多個線程。

  在 Classes 面板中查看已裝入的類Classes 面板中列出了在執行程序時裝入的類。選擇那些類中的任何一個以在 Source 面板中查看代碼。請記住,假如沒有使用 -g 選項來編譯類,就無法查看源碼。

  完成實例研究

  您已經了解如何有效使用 Jikes 調試設施來追捕和查明錯誤。我們使用相當簡單的示例來演示了調試器。我們建議使用更復雜的 Applet 或應用程序來增加您使用調試器的經驗。

  請記住,Jikes是一個開放源碼調試器,所以我們希望您更新并增強它。最后,但也是相當重要的,請與開發者社區共享您的更改

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 免费视频aaa| 国产精品一区二区免费在线观看 | 毛片在哪看 | 色婷婷a | 欧美一区二区三区不卡免费观看 | 久草在线网址 | 久久精品中文字幕一区 | 99精品视频在线看 | 视频一区国产 | 中国黄色一级生活片 | 一级电影在线观看 | 国产精品91久久久 | 一区二区三区在线视频观看58 | 涩涩激情网 | 日韩做爰视频免费 | 999久久国精品免费观看网站 | av电影在线观看免费 | 九一国产精品 | 美国一级毛片片aa久久综合 | av影院在线 | 免费看成人av| 亚洲欧美在线看 | 欧美va亚洲 | 国产欧美日韩视频在线观看 | 黄色一级片免费在线观看 | 在线91视频 | 男女无套免费视频 | 亚洲国产精品二区 | 免费国产羞羞网站视频 | 黄色小视频免费在线观看 | 久久免费视频一区 | 久久99精品久久久久久秒播蜜臀 | 美女很黄很黄免费的 | 999精品久久久 | 黄色免费影片 | 久久综合福利 | 亚洲成人精品一区二区 | 日本视频在线免费观看 | 亚洲午夜视频 | 少妇的肉体的满足毛片 | 久久国产精品久久久久久电车 |