App下載

python怎么調(diào)試?如何debug?

猿友 2021-05-25 14:49:23 瀏覽數(shù) (6874)
反饋

不管是什么編程語(yǔ)言,在開(kāi)發(fā)過(guò)程中總免不了代碼的調(diào)試。那么 python 語(yǔ)言怎么進(jìn)行調(diào)試呢?接下來(lái)就讓小編來(lái)告訴你。

僅使用 python 解釋器進(jìn)行代碼調(diào)試

如果 python 代碼有錯(cuò)誤,在解釋器運(yùn)行 python 代碼的時(shí)候會(huì)給出報(bào)錯(cuò),同時(shí)提示出錯(cuò)誤在第幾行。

python報(bào)錯(cuò)信息

這種方法有很多缺點(diǎn)。比如,如果代碼存在的錯(cuò)誤如果不影響運(yùn)行,就不會(huì)報(bào)錯(cuò)(比如算術(shù)表達(dá)式數(shù)值錯(cuò)誤,導(dǎo)致最終結(jié)果并非預(yù)期,但這種代碼錯(cuò)誤不影響運(yùn)行,不會(huì)被報(bào)錯(cuò));一次報(bào)錯(cuò)只報(bào)一個(gè)位置,如果這個(gè)代碼有100個(gè)錯(cuò)誤,那么它只會(huì)報(bào)第一個(gè)錯(cuò)誤,你需要重復(fù)運(yùn)行這個(gè)代碼99遍才能將所有錯(cuò)誤排除。

使用開(kāi)發(fā)工具進(jìn)行調(diào)試

因?yàn)閮H使用 python VSCodeVSCode解釋器進(jìn)行代碼調(diào)試會(huì)對(duì)編程人員的代碼調(diào)試帶來(lái)相當(dāng)大的困擾,這時(shí)候編程人員通常會(huì)選擇使用開(kāi)發(fā)工具進(jìn)行代碼調(diào)試。

關(guān)于開(kāi)發(fā)工具的調(diào)試方法分為兩個(gè)點(diǎn)進(jìn)行介紹,其中他們的共通之處在于:

他們都有一個(gè) variables 窗口,這個(gè)窗口可以查看變量的值。

他們可以查看調(diào)用堆棧。可以查看函數(shù)的調(diào)用情況。

他們都有 watches 窗口,可以查看變量值的變化。

他們都可以在代碼行前用左鍵下斷點(diǎn)。

注:pycharm 可以用 ?Ctrl+F8? 鍵下斷點(diǎn);VSCode 可以用 ?F9? 下斷點(diǎn)。

他們?cè)谡{(diào)試代碼的代碼執(zhí)行方式有共通之處(其實(shí)每種編程語(yǔ)言都用的差不多的代碼執(zhí)行方式)。

VSCode 的代碼執(zhí)行方式:vscode的代碼執(zhí)行控件

Pycharm 的代碼執(zhí)行方式:pycharm的代碼執(zhí)行控件

?VSCode?Pycharm?功能
??Continue?(繼續(xù))??執(zhí)行至下個(gè)斷點(diǎn)
??Step over?(單步跳過(guò))??step over??(步過(guò))?從斷點(diǎn)處開(kāi)始,執(zhí)行單步語(yǔ)句(不進(jìn)入方法)
??Step in?(單步調(diào)試)??step into??(步入)?可以進(jìn)入方法內(nèi)部,執(zhí)行?step over?
??step out?(單步跳出)??step out?(步出)?與?step in?相反的操作,跳出方法內(nèi)部

注:pycharm 的 debug 窗口功能更加豐富全面,這里只列舉部分常用功能。

使用pycharm進(jìn)行代碼調(diào)試

在上一個(gè)點(diǎn)的基礎(chǔ)上參考小編的該篇文章:

pycharm怎么運(yùn)行python代碼?如何調(diào)試?

使用VSCode進(jìn)行代碼調(diào)試

在運(yùn)行和調(diào)試功能下點(diǎn)擊創(chuàng)建 ?launch.json? 文件。

創(chuàng)建launch.json文件

選擇 python 文件,點(diǎn)擊后即可創(chuàng)建一個(gè) ?launch.json? 文件。創(chuàng)建完這個(gè)文件后就可以使用調(diào)試了。

調(diào)試配置

需要調(diào)試代碼的時(shí)候,下好斷點(diǎn),按 ?F5? 進(jìn)行調(diào)試,進(jìn)入調(diào)試狀態(tài)后左邊的調(diào)試窗口會(huì)出現(xiàn)變量窗口,堆棧窗口,監(jiān)視窗口和斷點(diǎn)管理窗口,這時(shí)候就可以進(jìn)行代碼的調(diào)試了。

小結(jié)

以上就是 python 怎么調(diào)試的全部?jī)?nèi)容,Debug 是每個(gè)程序員必備的基礎(chǔ)技能。它的重要性不言而喻,所以各位初學(xué)者們一定要好好掌握這個(gè)技能。如果有關(guān)于 Debug 的疑問(wèn),可以關(guān)注W3C技術(shù)頭條,小編會(huì)盡力為各位讀者大大解答。


0 人點(diǎn)贊