python--使用pycharm調試代碼


前言

  • print很好用,遇到錯誤就print,實在不行就多幾個pirnt
  • 這樣就出現了滿屏幕的print,麻煩而且不省事,當然,在你明確知道某個位置可能會出錯,print還是很有用
  • 但只會用print遠遠不夠,你需要在一片代碼中快速定位到bug,本篇博客介紹如何使用pycharm的代碼調試功能

pycharm 的 debug

  • pycharm提供了非常強大的debug功能
  • 以下面代碼為例:
#!/usr/bin/env python 
# -*- coding:utf-8 -*-
# 調試:
def add(*args):
    sum = 0
    for item in args:
        sum += item
    return sum

if __name__ == '__main__':
    sum = add(1,2,3,4,5,6,7,8,9,10)
    print(sum)

打開調試的幾種方式

  1. 鼠標右鍵選擇 Debug
  2. 代碼調試入口 if __name__ == '__main__': 處單機選擇 Debug
  3. 快捷啟動方式,菜單工作區域
  4. ...打開調試的方式有很多,選一種即可

斷點

  • 含義: 斷點(Breakpoint)即中斷操作,只有繼續手動執行才繼續下一步操作
  • 打斷點: 點擊需要加斷點的代碼行,如下:

    左側紅點就表示此處有斷點

調試模式

運行Debug(調試)模式,結果如下

  • 變量區域: 可以查看變量的執行流程和變化
  • 藍色代碼行: 藍色代碼行表示debug下一步要執行的操作,變量區域顯示的是上一行的變量執行結果

認識功能鍵

  • 右側紅框功能菜單,鼠標懸停后有提示各菜單的功能
  • 橫排紅框功能菜單,是主要操作功能菜單

橫排操作功能區

口訣

7進,8出,9跳

  • 7進: F7(step into),在單步執行時,遇到子函數就進入並且繼續單步執行,有的會跳到源代碼里面去執行
  • 8出: shift+F8(step out),跳出函數體,返回到調用此函數的地方
  • 9跳: F9(Resume program),跳過當前斷點

其他功能鍵

  • F8(step over): 在單步執行時,程序代碼會越過子函數,但子函數會執行,且不進入.(不存在子函數是,與F7作用一樣)
  • Alt+Shift+F7(step into my code): 在單步執行時,遇到子函數就進入並且繼續單步執行,不會進入到源碼中

一般操作流程

  1. 設置斷點
  2. 打開Debug模式
  3. F7/F8單步執行
  4. F9結束,跳到下一個斷點

總結

  1. 調試模式在代碼量增多或者找其他人寫的代碼bug,很有用
  2. 本篇博客只停留在調試模式的基礎,但是掌握了基礎,再去解決深層次的問題,只是時間問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM