2014-12-14 5 views
0

토네이도로 작성된 응용 프로그램에서 몇 가지 문제를 해결해야합니다. 서버와 통신하기 위해 소켓을 사용하는 REST 캔버스 앱입니다. 때로는 사용자가 일부 노드를로드하는 동안 로그 아웃하려고하면 500 오류가 발생합니다. 특정 핸들러에서 Try 블록을 사용하여 402 유형의 500 응답을 대체하려고했지만 클라이언트에서 여전히 500을 얻고 있습니다. 그래서 오류를 생성하는 파이썬 코드의 정확한 라인을 얻어야합니다. 불행히도 나는 모든 브라우저가 보여주고있는 것처럼 그것들을 검사하는 방법이 500 에러라고 확신 할 수 없다.500 http 응답 디버깅

+0

오류의 원인을 알려주는 로그가 있어야합니다. – Collierre

답변

1

명령 줄에서 응용 프로그램을 시작한 다음 HTTP 500 오류를 트리거하면 콘솔에 추적 표시가 기록됩니다. 또는 최소한 로그 파일에 나타납니다.

또는 응용 프로그램의 주 파일에 tornado.web.Application 인스턴스를 만드는 코드를 업데이트하고 debug=TrueApplication() 생성자로 전달하십시오. 그러면 serve_traceback을 비롯한 여러 옵션이 설정됩니다. 그런 다음 "500"뿐만 아니라 오류 응답에서 전체 추적을 볼 수 있습니다.

+0

고마워, 나는 이것을 시도 할 것이다. 나는 또한 pudb 디버거에 대해 중단 점을 설정하려고 생각하고있다. – klis87

+1

'debug = True' 옵션은 대화식 디버거 (캐싱과 자동로드를 줄인 "개발 모드")와는 아무런 관련이 없다는 점에 유의하십시오. 사실, 디버거를 연결할 때'debug' 옵션을 False로 설정해야합니다. –