日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 启动和停止界面_一文详解各种花里胡哨的Java调试技巧,多图预警,记得收藏...

發布時間:2024/7/23 java 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 启动和停止界面_一文详解各种花里胡哨的Java调试技巧,多图预警,记得收藏... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歡迎關注專欄《Java架構筑基》——專注于Java技術的研究與分享!

Java架構筑基?zhuanlan.zhihu.com
  • Java架構筑基——專注于Java技術的研究與分享!
  • 后續文章將首發此專欄!
  • 歡迎各位Java工程師朋友投稿和關注
  • Java架構師進階之路<常用資料分享>

  • 一. Java調試

    1.1 Eclipse調試

    1.1.1 Debug

    1.1.1.1 條件斷點

    斷點大家都比較熟悉,在Eclipse Java 編輯區的行頭雙擊就會得到一個斷點,代碼會運行到此處時停止。

    條件斷點,顧名思義就是一個有一定條件的斷點,只有滿足了用戶設置的條件,代碼才會在運行到斷點處時停止。

    在斷點處點擊鼠標右鍵,選擇最后一個"Breakpoint Properties"

    斷點的屬性界面及各個選項的意思如下圖,

    1.1.1.2 變量斷點

    斷點不僅能打在語句上,變量也可以接受斷點,

    上圖就是一個變量的打的斷點,在變量的值初始化,或是變量值改變時可以停止,當然變量斷點上也是可以加條件的,和上面的介紹的條件斷點的設置是一樣的。

    1.1.1.3 異常斷點

    經常遇見一些異常,然后程序就退出來了,要找到異常發生的地方就比較難了,還好可以打一個異常斷點,

    上圖中我們增加了一個NullPointException的異常斷點,當異常發生時,代碼會停在異常發生處,定位問題時應該比較有幫助。

    1.1.1.4 方法斷點

    方法斷點就是將斷點打在方法的入口處,

    方法斷點的特別之處在于它可以打在 JDK的源碼里,由于 JDK 在編譯時去掉了調試信息,所以普通斷點是不能打到里面的,但是方法斷點卻可以,可以通過這種方法查看方法的調用棧。

    1.1.1.5 改變變量值

    代碼停在了斷點處,但是傳過來的值不正確,如何修改一下變量值保證代碼繼續走正確的流程,或是說有一個異常分支老是進不去,能不能調試時改一下條件,看一下異常分支代碼是否正確?

    在Debug 視圖的 Variables 小窗口中,我們可以看到 mDestJarName 變量的值為 " F:StudyeclipseproJarDirjarHelp,jar "

    我們可以在變量上右鍵,選擇"Change Value…" 在彈出的對話框中修改變量的值,

    或是在下面的值查看窗口中修改,保用Ctr+S 保存后,變量值就會變成修改后的新值了。

    1.1.1.6 重新調試

    這種調試的回退不是萬能的,只能在當前線程的棧幀中回退,也就說最多只能退回到當前線程的調用的開始處。
    回退時,請在需要回退的線程方法上點右鍵,選擇 "Drop to Frame"

    1.1.2 遠程調試

    1.1.2.1 環境

    tomcat,Eclipse,做遠程調試不需要任何插件。

    項目:新建一個web項目

    index,jsp源碼如下

    <%com,syj,test,DebugTest,test("遠程調試測試"); %> Hello Remote Debug

    創建一個DebugTest類代碼如下:

    public class DebugTest{public static void test(String content){System,out,print(content);} }

    1.1.2.2 tomcat配置

    • 將web應用部署到Tomcat的webapp目錄下
    • 修改Tomcat/bin/startup,bat文件,在最前面加上如下代碼:
    SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava,compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

    注意上面命令必須寫成一行中間不能有換行,-前是空格-后是非空格,由于word原因,該文章在顯示的時候可能會有換行的情況。

    • 必須先啟動Tomcat啟動tomcat/bin/startup,bat參下圖

    1.1.2.3 Eclipse配置

    • 在com,syj,test,DebugTest,test方法中設置斷點
    • 在eclipse中配置debug,配置完成后點擊debug按鈕。如圖:

    • 打開瀏覽器訪問部署的web應用,訪問index,jsp
    • 當瀏覽器訪問index,jsp時,由于調用了com,syj,test,DebugTest,test,又因在test方法中設置了斷點,所以程序會被斷點攔截,如圖:

    • 不需要調試的時候點擊斷開,需要調試的時候再點擊debug,非常方便,當調試過程中出現引用非本project的源碼時(例如跟蹤到tomcat里面或spring,hibernate里面),會提示找不到源碼,點擊相應提示的按鈕(到時候editor區只有一個按鈕,所以大家就不要問哪個按鈕了)可以添加源碼繼續調試,或在配置debug前就把需要的源碼都添加上,在source選項卡里面。

    二. 瀏覽器調試

    主要講解Google瀏覽器

    2.1 谷歌瀏覽器調試

    Google Chrome除了簡潔、快速,現在的Chrome的插件也非常的豐富了。而對于web開發者來說,Chrome對于JSt調試很好用,HTML5、CSS3等一些新標準的支持也是比較完善的,而且Chrome的開發者工具我個人認為真的非常好用。

    2.1.1 啟用調試

    怎樣打開Chrome的開發者工具?你可以直接在頁面上點擊右鍵,然后選擇審查元素:

    或者在Chrome的工具中找到:

    或者,你直接記住這個快捷方式: Ctrl+Shift+I (或者Ctrl+Shift+J直接打開控制臺),或者直接按F12。界面如下圖:

    不過我一般習慣與點左下角的那個按鈕,將開發者工具彈出作為一個獨立的窗口:

    2.1.2 調試功能標簽頁說明

    2.1.2.1 Elements標簽頁

    這個就是查看、編輯頁面上的元素,包括HTML和CSS:

    左側就是對頁面HTML結構的查看與編輯,你可以直接在某個元素上雙擊修改元素的屬性,或者你點右鍵選"Edit as Html"直接對元素的HTML進行編輯,或者刪除某個元素,所有的修改都會即時在頁面上得到呈現。(注:看到上面右鍵菜單的最后一個選項"審查元素"了么?這是不是說明這個開發者工具的頁面也是HTML來的呢?你點一下就知道了,嘿嘿)

    你還可以對某個元素進行監聽,在JS對元素的屬性或者HTML進行修改的時候,直接觸發斷點,跳轉到對改元素進行修改的JS代碼處:

    Elements標簽頁的右側可以對元素的CSS進行查看與編輯修改:

    你還可以通過這里看到各CSS選擇器設置的CSS值的覆蓋情況。

    下面的Metrics可以看到元素占的空間情況(寬、高、Padding、Margin神馬的):

    注意到上面的Properties沒有?這個很有用,可以讓你看到元素具有的方法與屬性,比查API手冊要方便得多(要注意某些方法和屬性在IE、FireFox等其他瀏覽器下面的支持情況)。

    2.1.2.2 Resources標簽頁

    Resources標簽頁

    Resources標簽頁可以查看到請求的資源情況,包括CSS、JS、圖片等的內容,同時還可以查看到存儲相關的如Cookies、HTML5的Database和LocalStore等,你可以對存儲的內容編輯和刪除。

    這里的CSS文件有一個好玩的特性,你可以直接修改CSS文件,并且修改即時生效:

    2.1.2.3 Network標簽頁

    Network標簽頁

    Network標簽頁對于分析網站請求的網絡情況、查看某一請求的請求頭和響應頭還有響應內容很有用,特別是在查看Ajax類請求的時候,非常有幫助。注意是在你打開Chrome開發者工具后發起的請求,才會在這里顯示的。

    點擊左側某一個具體去請求URL,可以看到該請求的詳細HTTP請求情況:

    我們可以在這里看到HTTP請求頭、HTTP響應頭、HTTP返回的內容等信息,對于開發、調試,都是很有用的。

    2.1.2.4 Script標簽頁

    很明顯,這個標簽頁就是查看JS文件、調試JS代碼的,直接看下圖的說明:

    還有你可以打開Javascript控制臺,做一些其他的查看或者修改:

    你甚至還可以為某一XHR請求或者某一事件設置斷點:

    2.1.2.5 Timeline標簽頁

    注意這個Timeline的標簽頁不是指網絡請求的時間響應情況(這個在Network標簽頁里查看),這個Timeline指的JS執行時間、頁面元素渲染時間:

    點擊底部的Record就可以開始錄制頁面上執行的內容。

    2.1.2.6 Profiles標簽頁

    Profiles標簽頁,這個主要是做性能優化的,包括查看CPU執行時間與內存占用

    2.1.2.7 Audits標簽頁

    這個對于優化前端頁面、加速網頁加載速度很有用(相當與Yslow):

    點擊run按鈕,就可以開始分析頁面,分析完了就可以看到分析結果了:

    它甚至可以分析出頁面上樣式表中有哪些CSS是沒有被使用的:

    2.1.2.8 Console標簽頁

    就是Javascript控制臺了:

    這個除了查看錯誤信息、打印調試信息(console,log())、寫一些測試腳本以外,還可以當作Javascript API查看用。例如我想查看console都有哪些方法和屬性,我可以直接在Console中輸入"console"并執行:

    怎么樣,一目了然了吧 ?再例如我想查看日期函數都有哪些方法:

    (注:注意在這里看到的某些方法和屬性是ES5新增的,記得兼容其他瀏覽器的支持情況)

    2.2 IE瀏覽器調試

    注意:IE版本需要在IE8或以上版本

    2.2.1 啟用調試

    雙擊IE瀏覽器的圖標,打開IE瀏覽器

    點擊鍵盤上的"F12"鍵,或者在ie工具欄下點擊"開發人員工具",進入調試界面

    2.2.2 開始JS調試

    選"腳本"選項卡,找到要調試的代碼行,然后右擊添加斷點,或者直接點擊也會出現斷點。

    點擊啟動調試,就會跑到設置的斷點處。"F11"可以一步一步調試,"F10"逐過程調試,"shift+F11"跳出

    2.3 火狐瀏覽器調試

    2.3.1 概述

    在FireFox上插件庫里找到FireBug安裝即可,網上下載進行安裝。下圖是FireBug Debug 窗口。

    FireBug美工用的非常普遍,公司美工妹妹用的非常熟練 呵呵,而對于我們開發人員,主要用它來Debug JS??纯垂俜綄ebug功能的介紹。

    Firebug includes a powerful JavaScript debugger that lets you pause execution at any time and see what each variable looked like at that moment, If your code is a little sluggish, use the JavaScript profiler to measure performance and find bottlenecks fast,

    簡而言之,FireBug 可以讓我們在任何時候debugJS 并查看變量,同時可以通過它找出JS中性能瓶頸。

    2.3.2 調試步驟

    下圖是如何找到Web應用的JS,激活Firebug,點Script,然后在All 旁邊選擇你要Debug的JS。

    下圖是如何打斷點 基本跟Eclipse一樣,點擊行號就Ok了。

    下圖是如何在斷點上設定條件,如果條件符合,就進入斷點,這個功能很不錯,特別是Debug很復雜的Function時候。

    下圖是如何單步調試,跟Eclipse一樣 F11單步

    下圖是查看調用的Stack,對以復雜的JS Debug很有幫助。

    下圖是查看變量 基本跟EclipseDebug 一樣。

    下圖是在斷點處查看變量。

    有個很好用的功能,代碼行之間快速調轉,使得對上千行的JS調試很輕松。

    下圖就是Performance 測試結果,使用很簡單 點Profile

    還有一個Log功能比較實用,看下圖 如果你不想每次都進入斷點,用這個就再好不過了。

    三. 注意

    本文的調試只是常用的一些方法,只能給大家一個方向,同時由于工具版本原因,在實踐過程中若有迷茫的地方,請到網上查詢解惑

    # 鏈接 Java程序員福利"常用資料分享"

    總結

    以上是生活随笔為你收集整理的Java 启动和停止界面_一文详解各种花里胡哨的Java调试技巧,多图预警,记得收藏...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。