电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

如何用IDEA調試BUG的幾種方法

瀏覽:164日期:2024-09-02 13:52:10

最近小明的bug有點多,忙的連王者榮耀都顧不上玩了,導致現在不得不抽點時間研究一下作為當前大多Java程序員開發工具的IDEA DEBUG功能,以提高效率。

一、條件斷點

場景:我們在遍歷某個集合,期望程序在滿足某些預設條件時停住,比如:沐芳老師在課堂上點名,需要在點到小明的時候暫停確認一下是否有人在幫小明答“到”!

那沐芳老師可以這樣:

如何用IDEA調試BUG的幾種方法

右擊斷點旁邊的小紅點(斷點),彈出面板,在Condition這里填入暫停條件,這樣調試時,當程序滿足條件時就會穩穩地停在student= '小明'的位置。

二、回到'過去'

場景:人非圣賢,孰能無過。在日常開發中,大家都有手殘的時候,比如在調試一個業務邏輯比較復雜,有多個方法嵌套時,一不小心手抖,斷點過去了,這該怎么辦?

這天,沐芳老師如往常一樣在上課前點名,當點到小明的時候,不爭氣的小明在偷偷看喜歡的妹子,沒有注意聽,當反應過來時,已經錯過了答到!十分懊悔(紅顏禍水?。@時小明就可以借用大雄的機器貓進行時光穿梭:

如何用IDEA調試BUG的幾種方法

觀察上圖,我們看到,按照點名順序,現在沐芳老師點名已經輪到小紅,小明已經錯過答到,機器貓可以這樣幫助小明:點擊上圖紅色框框圈中的Drop Frame圖標(如果存在多個方法的嵌套調用,可以多點幾下),就這樣,小明穿越了,沒有錯過這次的答到:

如何用IDEA調試BUG的幾種方法

tips:這個按鈕之所以叫做Drop Frame,是因為JVM內部是以棧幀為單位來保存線程的運行狀態,Drop Frame直譯過來就是扔掉當前運行的棧幀,回到上一幀的位置,這樣就實現了穿越。

三、多線程調試

終于老師點名結束了,現在可以正常上課了。到了同學們最愛的老師提問,同學們搶答的環節。

As we know 當我們啟動多個線程時,哪個線程內的程序先執行,完全靠CPU的心情(爸爸一樣的存在),這樣就會造成一個問題:無法像單線程那樣按照執行順序debug?,F象就是你只管打斷點,線程之間不亂跳算我輸,程序舉例如下:

如何用IDEA調試BUG的幾種方法

老師提出問題后,四個同學開始搶答:

如何用IDEA調試BUG的幾種方法

這么多同學搶答,讓堅守崗位30多年的沐芳老師覺得再這樣下去課堂可能會有點混亂:但這并難不倒從業30多年的沐芳老師,她按如下圖所示:在斷點的位置上右擊,選擇Thread,就可以有目的地跟蹤某一位同學的搶答情況(一切都在掌握之中)。

如何用IDEA調試BUG的幾種方法

四、遠程調試

大家能看到這里,小明不得不給大家介紹一個裝X的技能:云調試。即本機不用啟動項目,只要本機的源代碼與遠程服務器運行的jar包匹配,就可以在本機直接遠程調試服務器上的代碼!打開姿勢如下:

遠程項目啟動時,先允許遠程調試

現在大多都是SpringBoot項目,因此我們在遠程服務器上運行一個jar包時

java -server -Xms512m -Xmx512m -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8080 -jar xiaoming.jar

這里起作用的核心命令就是

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8080

遠程調試從技術上講,就是在本機與遠程服務之間建立scoket通訊,所以本機要可以訪問到遠程服務的端口。

在idea中設置遠程調試

如何用IDEA調試BUG的幾種方法

接下來我們就可以正常調試了,調試方式和本地運行服務調試無差,不信你發起一個請求,并在對應的邏輯代碼中打個斷點試試?

五、臨時執行表達式

再一個就是調試時,我們還可以臨時執行一些表達式,點擊紅色框框選中的圖標,然后輸入你想執行的表達式,如下所示:

如何用IDEA調試BUG的幾種方法

大家可以看到,小明心靈是多么脆弱,因為無法直面自己的實際年齡,再快要得到真實年齡是,偷偷的減去了7年,所以他實際年齡永遠為18歲(手動滑稽)。

六、修改變量的運行值

當然,如果調試時,想動態修改變量的值,也很容易,在變量上右擊,然后選擇Set Value,比如簡單粗暴的更改小明的年齡為18……

如何用IDEA調試BUG的幾種方法

以上,這就是小明近期總結的IDEA的DEBUG技巧,希望可以幫助到大家。善用上述調試技巧,相信大家擼起代碼來會更加有感覺,更多相關IDEA調試BUG內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: IDEA
相關文章:
主站蜘蛛池模板: 高压管道冲洗清洗机_液压剪叉式升降机平台厂家-林君机电 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 动物解剖台-成蚊接触筒-标本工具箱-负压实验台-北京哲成科技有限公司 | TTCMS自助建站_网站建设_自助建站_免费网站_免费建站_天天向上旗下品牌 | 高光谱相机-近红外高光谱相机厂家-高光谱成像仪-SINESPEC 赛斯拜克 | 微波萃取合成仪-电热消解器价格-北京安合美诚科学仪器有限公司 | 便民信息网_家电维修,家电清洗,开锁换锁,本地家政公司 | 济南货架定做_仓储货架生产厂_重型货架厂_仓库货架批发_济南启力仓储设备有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 网站优化公司_北京网站优化_抖音短视频代运营_抖音关键词seo优化排名-通则达网络 | 伸缩器_伸缩接头_传力接头-巩义市润达管道设备制造有限公司 | 深圳希玛林顺潮眼科医院(官网)│深圳眼科医院│医保定点│香港希玛林顺潮眼科中心连锁品牌 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | 酒瓶_酒杯_玻璃瓶生产厂家_徐州明政玻璃制品有限公司 | 丹尼克尔拧紧枪_自动送钉机_智能电批_柔性振动盘_螺丝供料器品牌 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂 | 全屋整木定制-橱柜,家具定制-四川峨眉山龙马木业有限公司 | 智能案卷柜_卷宗柜_钥匙柜_文件流转柜_装备柜_浙江福源智能科技有限公司 | 高光谱相机-近红外高光谱相机厂家-高光谱成像仪-SINESPEC 赛斯拜克 | 电动葫芦|防爆钢丝绳电动葫芦|手拉葫芦-保定大力起重葫芦有限公司 | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | 优秀的临床医学知识库,临床知识库,医疗知识库,满足电子病历四级要求,免费试用 | 福兰德PVC地板|PVC塑胶地板|PVC运动地板|PVC商用地板-中国弹性地板系统专业解决方案领先供应商! 福建成考网-福建成人高考网 | 滚珠丝杆升降机_螺旋升降机_丝杠升降机-德迈传动 | 医院专用门厂家报价-医用病房门尺寸大全-抗菌木门品牌推荐 | 开云(中国)Kaiyun·官方网站-登录入口| 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 煤棒机_增碳剂颗粒机_活性炭颗粒机_木炭粉成型机-巩义市老城振华机械厂 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 首页-恒温恒湿试验箱_恒温恒湿箱_高低温试验箱_高低温交变湿热试验箱_苏州正合 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂 | 电动高尔夫球车|电动观光车|电动巡逻车|电动越野车厂家-绿友机械集团股份有限公司 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 |