Pycharm調(diào)試程序技巧小結(jié)
斷點(diǎn)
如圖,是pycharm的斷點(diǎn),只需要單擊左側(cè),即可定義該斷點(diǎn),和其他開發(fā)軟件一樣方便。斷點(diǎn)的作用是:但程序采取debug方式運(yùn)行時(shí),程序走到這里,將會(huì)停下腳步,展示該斷點(diǎn)的詳細(xì)信息。
debug運(yùn)行
如圖,一個(gè)蜘蛛的標(biāo)識(shí),就是debug的運(yùn)行方式。所謂debug,就是調(diào)試的意思。大多數(shù)程序設(shè)計(jì)語言都有專門的調(diào)試工具,pycharm也是如此,可以用這個(gè)工具來分析程序的動(dòng)態(tài)行為。
調(diào)試技巧
1、使用print()打印信息
最開始用pycharm的時(shí)候,常用的方法之一:
優(yōu)點(diǎn)是能夠顯示程序的動(dòng)態(tài)過程,比較容易檢查源程序的有關(guān)信息。
缺點(diǎn)是效率低,可能輸入大量無關(guān)的數(shù)據(jù),發(fā)現(xiàn)錯(cuò)誤帶有偶然性。
所以,可以使用,但少用或不用。
2、debug工具欄
如圖,debug工具欄的功能介紹如下:
(1)重新運(yùn)行
效果:重新debug運(yùn)行,方便快捷;
(2)調(diào)試程序
效果:跳到下一個(gè)斷點(diǎn),越過“山丘”(中間代碼)
(3)終止程序
效果:立即終止程序運(yùn)行
(4)配置斷點(diǎn)
效果:全局查看所有斷點(diǎn),無論該斷點(diǎn)在哪,并進(jìn)行配置
(5)沉默斷點(diǎn)
效果:使所有斷點(diǎn)失效
3、單步調(diào)試工具欄
如圖,單步調(diào)試工具欄的功能介紹如下:
(1)顯示執(zhí)行點(diǎn)
效果:臨時(shí)顯示當(dāng)前執(zhí)行點(diǎn)的數(shù)據(jù)情況
(2)跳過
效果:跳過該執(zhí)行點(diǎn)調(diào)用的方法,進(jìn)入下一行
備注:當(dāng)在我的代碼內(nèi),功能與“進(jìn)入我的代碼”一致;不在我的代碼內(nèi),功能為進(jìn)入下一行,即一行一行執(zhí)行。
(3)進(jìn)入
效果:進(jìn)入該方法進(jìn)入的執(zhí)行點(diǎn),進(jìn)入調(diào)用的方法中
(4)進(jìn)入我的代碼
效果:無論當(dāng)前狀態(tài)在哪里,點(diǎn)擊這個(gè),就會(huì)進(jìn)入我的代碼,進(jìn)入下一行
備注:當(dāng)在我代碼內(nèi),功能與跳過一致。
(5)跳出
效果:在斷點(diǎn)中,直接跳出到下一個(gè)斷點(diǎn);在我的代碼中,跳出該執(zhí)行點(diǎn),進(jìn)入上一個(gè)執(zhí)行點(diǎn)的代碼中,即往回追溯;
(6)運(yùn)行到光標(biāo)
效果:運(yùn)行到光標(biāo)位置的代碼,注意:如果中間有斷點(diǎn),優(yōu)先執(zhí)行到斷點(diǎn)
(7)評(píng)估表達(dá)式
效果:動(dòng)態(tài)查看某一個(gè)值
到此這篇關(guān)于Pycharm調(diào)試程序技巧小結(jié)的文章就介紹到這了,更多相關(guān)Pycharm調(diào)試程序技巧內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)針對(duì)給定字符串尋找最長(zhǎng)非重復(fù)子串的方法
這篇文章主要介紹了Python實(shí)現(xiàn)針對(duì)給定字符串尋找最長(zhǎng)非重復(fù)子串的方法,涉及Python針對(duì)字符串的遍歷、排序、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04python之Django自動(dòng)化資產(chǎn)掃描的實(shí)現(xiàn)
這篇文章主要介紹了python之Django自動(dòng)化資產(chǎn)掃描的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04聊聊pytorch中Optimizer與optimizer.step()的用法
這篇文章主要介紹了pytorch中Optimizer與optimizer.step()的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05在RedHat系Linux上部署Python的Celery框架的教程
這篇文章主要介紹了在RedHat系Linux上部署Python的Celery框架的教程, Celery是一個(gè)并行分布框架,擁有良好的I/O性能,需要的朋友可以參考下2015-04-04Python利用ROI進(jìn)行圖像合成的問題小結(jié)
圖像的 ROI (region of interest) 是指圖像中感興趣區(qū)域、在 OpenCV 中圖像設(shè)置圖像 ROI 區(qū)域,實(shí)現(xiàn)只對(duì) ROI 區(qū)域操作,本文給大家介紹Python利用ROI進(jìn)行圖像合成的問題小結(jié),感興趣的朋友一起看看吧2021-07-07django rest framework 實(shí)現(xiàn)用戶登錄認(rèn)證詳解
這篇文章主要介紹了django rest framework 實(shí)現(xiàn)用戶登錄認(rèn)證詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07