ホームページ >バックエンド開発 >Python チュートリアル >Pythonでデバッグする方法は何ですか?
この記事で使用されているテスト コード:
from torchvision import transforms from torchvision.datasets import FashionMNIST import os os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE" #数据集准备 train_data = FashionMNIST( root = "./data/FashionMNIST", train = True, transform = transforms.ToTensor(), download = True #如果没下载数据,就下载数据;如果已经下载好,就换为False ) test_data = FashionMNIST( root = "./data/FashionMNIST", train = False, transform = transforms.ToTensor(), download = True #如果没下载数据,就下载数据;如果已经下载好,就换为False ) train_data_x=train_data.data train_data_y=train_data.targets test_data_x=test_data.data test_data_y=test_data.targets print(train_data_x.shape) print(train_data_y.shape) print(type(train_data_x)) print(type(train_data_y)) print(test_data_x.shape) print(test_data_y.shape) def function1(x): for i in range(x): print(i) function1(7)
このクローラをクリックしてデバッグを開始してください
デバッグの前に、ブレークポイントを設定する必要があります: (いくつかの設定で十分です)
デバッグに入った後の左下隅:
1) デバッガーで既存の変数を確認できます。
2) コンソールで、段階的なデバッグ プロセスを確認できます。
#1) ステップ オーバー ショートカット キー: F8
2) ステップ イン ショートカット キー: F7
3) ステップ イン コード ショートカット キー: alt Shift F7
4) ステップアウト ショートカット キー: シフト F8
2.1. ステップ イン: シングルステップ実行 (関数に遭遇した場合もシングル ステップです)
Pay青い線の変化に注意してください (青い線は、デバッグが行われようとしているが、まだデバッグされていないことを意味します)
#2 回デバッグしたところ、結果は次のとおりです。ステップイン 関数に入るときも、1 つのステップです (take例としてここで定義したループ印刷関数):
2.2. ステップ オーバー: シングルステップ実行 (実行#ステップ オーバーと比較すると、関数内での実行の違いは次のとおりです (ステップ オーバーは直接実行されます)
#2.3, コードにステップインします: (次のブレークポイントに直接ジャンプします)
## これは簡単に理解できます。ここには 3 つのブレークポイントがあるので、3 回デバッグして終了します:
#2.4. ステップアウト: 実行残りの関数を実行して前の関数にジャンプします
は関数内のシングルクリック関数です。ステップバイステップでデバッグする場合は、ステップアウトを使用して実行を一度に完了し、前の階層関数に戻ります。
#使用後、関数全体が直接実行されますが、プロセスは終了しません
関数の前の層に戻り、青い線を見てください。
以上がPythonでデバッグする方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。