AppEngine을 로컬로 (예 : dev_appserver.py를 사용하여) 작업하는 동안 단계별 디버깅을 수행 할 수 있습니까? logging.info() 또는 유사한 함수를 사용하여 코드의 모든 변수 값을 표시하고 오류의 위치를 결정하는 것은 너무 오래된 방식입니다.AppEngine : 단계별 디버깅
답변
Eclipse PyDev는 디버깅과 AppEngine을 지원합니다.
지역에서 appengine 프로세스가 정상적인 파이썬 프로세스가있는 경우 당신은 옵션이 몇 가지 있습니다 : 코드에서
, 장소 "코드 중단 점"
import pdb; pdb.set_trace()
합니다.dev_appserver.py
을 정상적으로 실행하면 python 디버거가 코드가있는 행에 도달하면 중단됩니다.pdb에
dev_appserver.py
을 실행하십시오. 셸에서 :$ python -m pdb dev_appserver.py
. 중단 점을 설정하려면b filename.py:linenumber
명령을 사용하십시오. 그런 다음c
명령을 사용하여 계속하십시오.
http://docs.python.org/library/pdb.html#debugger-commands가 pdb module documentation를 참조하십시오.
codeape의 대답의 첫 번째 제안에 조금 더 자세히 설명하십시오. dev_appserver.py가 stdin, stdout 및 stderr에 대해 신경 쓰이기 때문에 "코드 중단 점"을 설정하는 데 약간의 작업이 필요합니다. 이것은 나를 위해 트릭을 수행합니다
import sys
for attr in ('stdin', 'stdout', 'stderr'):
setattr(sys, attr, getattr(sys, '__%s__' % attr))
import pdb
pdb.set_trace()
명령 줄에서가 아닌 GUI 앱 엔진 런처를 통해 dev_appserver.py
를 실행해야합니다. pdb.set_trace()
행이 실행되면 그 시점에 pdb
디버거에 드롭됩니다.
PyCharm Professional Edition은 단계별 디버깅을 가능하게합니다.
몇 가지 설정 단계를 거쳐야하는 경우 PyCharm Community Edition 무료 버전을 Google App Engine Python과 함께 사용할 수 있도록 구성 할 수 있습니다. 배포와 같은 PyCharm Professional Edition의 모든 이점을 얻지는 못하지만 단계별 디버깅을 수행하고 코드 탐색 및 자동 완성 작업을 수행 할 수 있습니다. 디버깅을 사용하려면
, 설정하여 PyCharm 실행/디버그 구성을 편집 :
- 스크립트 : 앱 엔진의 dev_appserver.py
- 스크립트 매개 변수 :
--automatic_restart=no --max_module_instances="default:1" .
- 작업 디렉토리 :베이스 프로젝트 폴더를합니다 (app.yaml 파일이 포함 된 파일)
aup PyCharm CE pr에서 더 자세한 지침, 설명 및 코드 완성 작업 방법 oject, http://www.enkisoftware.com/devlogpost-20141231-1-Python_Google_App_Engine_debugging_with_PyCharm_CE.html을 참조하십시오.
하면 Windows에서 작업하는 당신이 GAE에 대한 디버그 파이썬 (마이크로 소프트 비주얼 스튜디오 커뮤니티) PyTools를 사용하려는 경우, 첫 번째는 나를 위해 http://www.enkisoftware.com/devlogpost-20140814-1-Python_Google_App_Engine_debugging_with_PyTools.html
- 1. 단계별 디버깅 목표 c
- 2. Eclipse 디버깅/AOP 배선을 건너 뛰는 방법으로 단계별 설명
- 3. MSVC++ 2010에서 단계별 디버깅 중 자동 건너 뛰기 STL 함수
- 4. ASP 편집기와 디버거 (단계별?)
- 5. 단계별 방법을 통해 단계별 방법으로 플렉스 빌더
- 6. Google Appengine 맞춤 인증
- 7. Google appengine python 디버거
- 8. 단계별 메이크 파일 디버그
- 9. Android 위저드 (단계별) 애플리케이션
- 10. 실용적인 SSAS 구현 (단계별)
- 11. php 단계별 실행
- 12. xinc에 대한 단계별 자습서?
- 13. 단계별 추가 기능
- 14. 스프링 보안 : 단계별 설명
- 15. appengine 로그 콘솔이 매우 느립니다.
- 16. AppEngine 생각하기
- 17. Intel AT & T 어셈블러에 대한 단계별 실행?
- 18. CPU 학습 단계별 학습 과정
- 19. Visual Studio를 통한 단계별 클릭
- 20. 단계별 사용자 상호 작용 패턴
- 21. WPF - 샘플 앱, 단계별 설명
- 22. Django 개발 프로세스/단계 (단계별)
- 23. 단계별 다운로드를 통한 애플리케이션로드 가속화
- 24. Windows 서비스로 단계별 WCF가 필요합니다.
- 25. WPF 이중 애니메이션 : 단계별 애니메이션?
- 26. 코드를 분석하고 단계별 실행 도구?
- 27. .NET4 : 진행중인 단계별 실행 설명
- 28. 서블릿 컨테이너의 단계별 비동기 처리?
- 29. Java Web Start. 단계별 설명
- 30. OSX에서 mod_mono를 사용하기위한 단계별 절차
를 작동하지 않았다 참조하십시오. 그냥 멈추지 않고 BdbQuit 오류가 발생하는 것 같습니다! – Rafid
둘째는 저에게 효과적 이었지만 편리하지 않았습니다.그것은 처음부터 중단되고, 코드의 특정 지점에서 중단 점을 가지기를 원합니다. – Rafid
중단 점을 설정하려면 "b filename.py:linenumber"명령을 사용하십시오. 그런 다음 계속하려면 "c"명령을 사용하십시오. http://docs.python.org/library/pdb.html#debugger-commands를 참조하십시오 – codeape