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. 디버그 환경 소개
디버깅을 시작하려면 이 크롤러를 클릭하세요.
디버깅하기 전에 중단점을 설정해야 합니다. (여러 가지가 그렇게 할 것입니다)
이후 디버그에 들어가면 왼쪽 하단:
1) 디버거에서 기존 변수를 볼 수 있습니다:
2) 콘솔에서는 단계별 디버깅 프로세스를 볼 수 있으며, 출력 결과가 여기에 인쇄됩니다:
2. 디버그 버튼 소개
각각
1) 바로 가기 키: F8
2) 바로 가기 키: F7
3) 내 코드 실행 단축키: alt+shift+ F7
4) 나가기 단축키: Shift+F8
2.1, 실행: 단일 단계 실행(함수를 만나면 그것도 단일 단계입니다)
파란색 선의 변화에 주목하세요(파란색 선은 향후 디버깅되었지만 아직 디버그되지 않음을 나타냄)
방금 두 번 디버깅했는데 결과는 다음과 같습니다.
step into 함수를 만나면 그것도 단일 단계입니다(여기서 정의한 내용에 따르면) 루프 인쇄 기능은 예입니다):
2.2, step over: 단일 단계 실행 (함수를 만나면 모두 실행)
스텝 오버와 비교했을 때 함수 실행의 차이점은 다음과 같습니다. (스텝 오버가 직접 실행됨)
2.3, 내 코드로 스텝 실행: (직접 점프 다음 중단점으로)
여기에는 3개의 중단점이 있으므로 세 번 디버그한 다음 종료합니다.
2.4. : 남은 기능을 실행하고 이전 기능으로 점프합니다
이는 기능 내에서 한 단계씩 실행하는 경우 한 단계씩 실행하고 이전 기능으로 돌아갈 수 있습니다.
사용 후 전체 함수가 직접 실행되지만 프로세스가 종료되지 않습니다
파란색 선을 보고 이전 함수 레이어로 돌아갑니다
위 내용은 Python에서 디버깅하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux 시스템과 함께 제공되는 Python 통역사를 제거하는 문제와 관련하여 많은 Linux 배포판이 설치 될 때 Python 통역사를 사전 설치하고 패키지 관리자를 사용하지 않습니다 ...

Pylance 유형 감지 문제 솔루션 Python 프로그래밍에서 사용자 정의 데코레이터를 사용할 때 Decorator는 행을 추가하는 데 사용할 수있는 강력한 도구입니다 ...

Pythonasyncio에 대해 ...

Linux 터미널에서 Python 사용 ...

Python 3.6에 피클 파일 로딩 3.6 환경 오류 : ModulenotFounderRor : nomodulename ...

파이썬 비동기 라이브러리 사이의 호환성 문제 파이썬에서 비동기 프로그래밍은 동시성과 I/O의 프로세스가되었습니다 ...

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

아동 프로세스의 문제와 해결책은 신호를 사용하여 부모 프로세스를 죽일 때 계속 실행됩니다. Python 프로그래밍에서 신호를 통해 부모 프로세스를 죽인 후에도 아동 프로세스는 여전히 ...
