2015-01-02 2 views
3

Flask (Werkzeug) 디버거를 사용하여 Flask 응용 프로그램을 디버깅하고 PyCharm 디버거를 사용하여 디버깅을 쉽게 전환하는 방법을 알아 내려고합니다. 나는 두 PyCharm 실행 구성PyCharm에서 Flask 디버깅

나는 "실행"및 응용 프로그램 스크립트에 공급 --debug 플래그로 호출
  1. 하나를 가진 것으로까지 왔; 및
  2. 나는 "디버그"이 작동

    if __name__ == "__main__": 
    
        import argparse 
        parser = argparse.ArgumentParser(description='Runs Web application with options for debugging') 
        parser.add_argument('-d', '--debug', action='store_true', 
             dest='debug_mode', default=False, 
             help='run in Werkzeug debug mode') 
        parser.add_argument('-p', '--pydebug', action='store_true') 
             dest='debug_pycharm', default=False, 
             help='for use with PyCharm debugger') 
    
        cmd_args = parser.parse_args() 
        app_options = dict() 
    
        app_options["debug"] = cmd_args.debug_mode or cmd_args.debug_pycharm 
        if cmd_args.debug_pycharm: 
         app_options["use_debugger"] = False 
         app_options["use_reloader"] = False 
    
        application.run(**app_options) 
    

    "로 응용 프로그램 스크립트 내 응용 프로그램 스크립트에서 지원하는 플래그

에 공급 --pydebug 플래그로 호출 하나, 그리고 충족 서버에 배포 할 코드를 편집 할 필요가 없지만 최선의 방법이라고 확신하지 못합니다. 두 번째 구성은 "디버그"로 시작한다는 것을 기억해야합니다. "Run") PyCharm에서 "Run"("Debug"가 아닌)을 사용하여 첫 번째 실행을 시작하는 동안.

PyCharm의 일부 기능 (예 : PyCharm)을 사용하여 PyCharm에서 디버깅하는 두 가지 방법을 지원하는 더 나은 방법이 있습니까? "디버그"가 "실행"보다 오히려 호출되었을 때를 감지 할 수있게 해줍니다.) 또는 플라스크의 기능을보다 똑똑하게 사용할 수 있습니다. 응용 프로그램이 PyCharm 디버거에서 실행되고 있는지 확인하는

답변

3

아주 쉬운 방법은 다음과 같습니다

'pydevd' in sys.modules