欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 軟件研發 > 【中培課堂】10個利用Eclipse調試Java程序的技巧

【中培課堂】10個利用Eclipse調試Java程序的技巧

2017-01-19 14:33:55 | 來源:中培企業IT培訓網

Java 作為目前非常流行的開發語言,其程序調試也是行業非常重視的一部分。中培偉業《JAVA高級開發技術實戰》培訓專家程老師在這里詳細介紹了10個利用Eclipse調試Java程序的技巧,希望能對廣大Java開發人員的程序調試帶來幫助。

一個是:不要調試太多

一個關于調試的瘋狂聲明作為開頭。但它必須是要說的!嘗試切分一下你那復雜的邏輯成多個獨立的單元,并編寫單元測試來檢測你代碼的正確性。我想像如下這樣的流程應該是發生得非常頻繁的----一些人通過大型web應用程序點擊、填寫多個表單、切換到不同的頁面、正在最后的頁面上檢測工個計算邏輯和實現這個調試視圖中的大部分邏輯。在啟動你的tomcat之前總是問你自己:有沒有方法使用一個單元測試來檢測這些行為?你在過去這些時間可以不知道或已忘記這些,但從現在開始,我們將要關注一些eclipse的調試技巧,你會發現有大量的關于良好代碼設計的好東西。

- 斷點視圖 : 條件斷點

如果你只對應用中的某部分感興趣的話,這個功能非常有用。例如,如果你要在第13次循環的時候檢查程序,或者在一個抽象父類中調試某些功能,而你只關注其中一個具體的實現。你可以在斷點視圖中設置條件,或者通過代碼旁邊的藍色斷點標記的右鍵菜單("Breakpoint Properties")設置。你可以在條件代碼片段為true的時候暫停程序,或者當代碼片段的值改變的時候掛起程序。

- 變量視圖:展示邏輯結構

如果你需要在變量視圖查看一個Map對象或者List對象的值,對于eclipse的默認設置,一般并不是那么容易。假設,你使用的是HashMap,你需要點擊遍歷各個實體條目,并面臨各種HashMap的實現細節。但是,在變量視圖上面有一個叫做“Show Logical Structure”的按鈕。它非常有用,尤其當你的對象的toString()方法所展示的信息并不友好的時候。我的老大在幾周前為我展示了這個功能。你知道,他經常跟PowerPoint或者Excel打交道。對于我這么一個開發人員,多丟臉哦

未開啟“Show Logical Structure”

開啟“Show Logical Structure”

- 變量視圖:更改變量值...

當你需要稍微更改輸入信息的時候,不需要重新開始調試會話,只需在一個表格中輸入新的信息,你可以在調試階段直接修改你的變量的值。有寫時候,你可以節省一些時間,你可以通過這個功能,更加簡單的模擬一些怪異的情況。

- Display視圖

你知道“Display視圖”嗎?你可以在調試過程中,通過“Window” -> “Show View” -> “Display”來激活它。現在,你的eclipse應該是一個空白的新視圖。你可以使用這個視圖,輸入或者演算一些新的代碼。這些代碼在當前的調試位置的上下文環境中被執行,這意味著,你可以使用所有變量甚至是內容助手。要執行你的代碼的話,只需標記它,并使用右鍵菜單或者CTRL+U(執行)或者 CTRL+SHIFT+I (檢查).

- 導航: Drop to Frame

我想任何人都知道“Step Into”, “Step over”,而且可能也知道“Step return”. 這些是調試時的基本導航功能。我想提兩個我非常喜歡的導航的高級方法。第一個是“Drop to Frame”. 使用這個特性你可以及時回退  你可以直接回退到運行過的java堆棧幀中某一幀。當我調試時,一不小心錯過了某個關注的代碼行時,我常常用這個回退一幀。使用“Drop to Frame”這個特性我可以簡單的重新運行某幀代碼。

- 導航: Step into Selection

第二個是:“Step into Selection”. 這也是很簡單,但很多人使用的一個。要使用它,你只需要按 Ctrl+Alt 同時點擊一個你想運行到的方法名。非常方便,非常快速。相比“Step Into”這個非常方便,想想你像跟蹤進一個有很多參數的函數,如果用“Step Into”你必須進入,退出每個參數計算過程,才能進入到你真正想進的函數。“Run to line”也是很棒的特性。只需要把光標放在你想運行到的哪一行前面,然后按“CTRL+R”就可以了。

- 導航器:使用鍵盤

如果避免使用鼠標的話,你的操作速度會更快。你至少應該如下的快捷鍵:

F5 – “單步進入”

F6 – “單步執行并跳過”

F7 – “單步執行并返回”

F8 – “繼續執行”

Ctrl+Shift+B – “添加斷點”

Ctrl+Shift+I – “檢查”

- 斷點視圖:Watchpoints

如果改變這個變量會有什么結果?! 有時候創建一個watchpoint對于調試會非常有用。調試器會停止,不管這個被觀察的字段是被修改還是被讀取 - 你可以自己來配置決定。你只需雙擊一個字段,然后你就可以在斷點視圖中看到watchpoint,并且可以編輯它的屬性。你甚至可以一個訪問次數,這意味著當變量被訪問的次數達到這個數量的時候,調試器會停止。這對于普通的斷點也適用。

- 友好的可讀的對象

變量視圖是使用對象的toString方法來現實對應的值。因為這個原因,如果提供友好的toString方法實現,對調試來說會非常有用。在javadoc中關于java.lang.Object的默認toString實現,也是這樣推薦的:

返回一個表示該對象的字符串。通常toString方法返回這么一個字符串,“字面表示”該對象。返回結果必須是一個簡潔卻富含可表示該對象的信息,并且友好可讀取。我們推薦所有的子類都覆蓋這個方法。

如果你不能修改toString實現,例如你現在使用框架或者一個外部的API,你可以有另外一個選擇,在Eclipse中創建一個“Detail Formatter”。你需要在變量視圖中右擊一個對象,并點擊“New Detail Formatter…”。然后你就可以輸入一些代碼,用于展現這個對象。

想了解更多請咨詢中培偉業官網:http://www.qinzhounet.cn

標簽: Java開發
主站蜘蛛池模板: 全部孕妇毛片丰满孕妇孕交 | 色欲av永久无码精品无码 | 人人爽人| 亚洲中文字幕精品久久久久久动漫 | 岛国片在线免费观看 | 亚洲 校园 欧美 国产 另类 | 国产肉体XXXX裸体XXXX | 脔到她哭H粗话H好爽五星视频 | 激情人妻绿帽王八系列 | 中文字幕1级精品视频在线 天堂爱爱 | 啦啦啦免费播放视频在线观看 | 亚洲AV无码专区在线观看成人 | 免费女人裸体视频无遮挡免费网站 | 日本视频免费在线 | 亚洲精品av一区在线观看 | 美女裸体视频免费网站无毒不卡 | 啊灬啊灬别停啊灬用力啊免费 | 国产69精品久久久久999小说 | "国产一级特黄 真人毛片" | 特级做AA爰片毛片免费看 | 欧美黑人又粗又大XXXX | 高潮真紧好爽我视频 | 色综合久久久久久久久久久 | 内射巨臀欧美在线视频 | 日韩女优网站 | 色情码一区久久爱 | japanesetube日本护士高潮 | 香蕉成人国产精品免费看网站 | 国产精品香蕉成人网在线观看 | 亚洲日韩AV无码不卡一区二区三区 | 国产乱人伦偷精品视频不卡 | 哦┅┅快┅┅用力啊┅┅在线观看 | 一边吃奶一边添p好爽视频 精品无码久久久久久午夜福利 | 日本黄H兄妹H动漫一区二区三区 | 国产青青草 | 久久精品亚洲中文字幕无码网站 | 国产精品白丝JK白祙喷水视频 | 国产精品你懂的在线播放 | 亚洲男人的天堂网站 | 老师掀起裙子让我把j放进去视频 | 久久99精品久久久久久水蜜桃 |