이 체크 아웃 프로그램은 내 직장에서 체크인 용 컴퓨터에서 데이터를 가져와 데이터베이스에 저장하기 만하지만 갑자기 목요일에 오류가보고되기 시작했습니다. 하루 중 임의의 시간에 오류가 감지되면 프로그램을 실행하지만 아무 일도 발생하지 않으므로 5-10 분마다 디버깅하여 오류가 발생하면 어떻게되는지보고 어떻게 해결할 수 있습니까? 이 작업을 수행?디버그를 예약하려면 어떻게해야합니까?
답변
로깅은 친구입니다. 로깅을 많이 추가하십시오 (내장 추적 추적을 사용하거나 log4net과 같은 일부 프레임 워크를 사용하십시오). 다른 로그 레벨을 사용하여 로그 아웃하는 양을 제어하십시오. verbose 레벨에서 중요한 메소드를 입력하고 종료 할 때 로그 할 수 있으며, 입력 인수와 리턴 값을 로깅 할 수 있습니다. catch 블록에 로그인하십시오. 그런 다음 다음 오류가보고 된 후 로그 파일을 분석하십시오.
일부의 생각 :
당신이 꺼내 수있는 충돌 미니 덤프가 있는지 확인하기 위해 서버 이벤트 로그를 확인하십시오. 이것들은 프로그램이 추락했을 때 일어난 일에 대해 많은 것을 알려줍니다 (호출 스택 등).
프로그램을 실행하고 실패한 것을 감지 할 수있는 래퍼 프로그램을 작성한 다음 그 순간 서버 상태의 스냅 샷을 작성하여 필요한 데이터로 작업을 재실행 할 수 있도록 반복 가능하도록하십시오 디버거에서 충돌이 발생합니다.
또는 로깅로드를 추가하십시오. PostSharp를 사용하여 입력 및 종료하는 모든 메소드를 알려주는 추적을 추가 할 수 있으므로 실패했을 때 실행중인 메소드를 쉽게 판별 할 수 있습니다.
그리고 견고성 코드를 추가 할 수 있습니다. 종교적으로 널 (null) 등을 확인하십시오. 어떤 문제가 해결되었는지 알지 못해도 문제를 해결할 수 있습니다.
프로그램이 너무 크지 않으면 구식이고 데스크 체크 (코드의 인쇄물 읽기)가 버그를 유발할 수 있습니다.
또 다른 접근법 (좀 더 실험적으로)은 프로그램이 계속 실행되도록 수정하여 디버거에 고정시키고 예외가 발생할 때까지 그대로 둘 수 있습니다. (루프를 실행하고 트리거 파일을 새로 고칠 때까지 기다렸다가 정상 프로세스를 시작할 수 있습니다. 약 5 줄의 코드로 충분할 것입니다.)
- 1. Windows에서 스레드를 예약하려면 어떻게해야합니까?
- 2. #if 디버그를 작동 시키려면 어떻게해야합니까?
- 3. 백그라운드에서 Ruby 스크립트 실행을 예약하려면 어떻게해야합니까?
- 4. 작업을 예약하려면
- 5. Tomcat 서버에서 X 시간마다 작업을 실행하도록 작업을 예약하려면 어떻게해야합니까?
- 6. 시끄러운 디버그를 비활성화하는 방법?
- 7. RubyMine으로 원격 디버그를 어떻게합니까?
- 8. Visual Studio에서 특정 BusinessLogicException에 대한 디버그를 수행하지 못하게하려면 어떻게해야합니까?
- 9. Perl CGI 애플리케이션에서 일회성 작업을 예약하려면 어떻게합니까?
- 10. 원격 서버에서 루비 디버그를 할 수 있습니까?
- 11. 아이폰에서 #ifdef 디버그를 사용하는 이유
- 12. android에서 이클립스 디버그를 사용하는 방법
- 13. Xcode4.0.2 장치 iphone4에서 디버그를 실행하십시오.
- 14. MS SQL 스크립트에서 디스크 공간을 예약하려면 어떻게합니까?
- 15. 정기적 인 간격으로 작업을 실행하도록 예약하려면 어떻게합니까?
- 16. 라이브러리의 소스 레벨 디버그를 수행하는 방법
- 17. Visual Studio 2010에서 코드 디버그를 허용하지 않습니다.
- 18. Visual Studio : 디버그를 구성하여 프로세스에 연결
- 19. android가 ant 디버그를 사용하여 .apk를 만들지 못했습니다.
- 20. 가 보석 루비 - 디버그를 설치하지만, 서버가
- 21. jdk로 slf4j 로깅 - 어떻게 디버그를 사용 하시겠습니까?
- 22. Visual Studio 2005에서 디버그를 시작할 수 없습니다.
- 23. 한 폴더의 모든 파일을 다른 서버로 이동하도록 예약하려면 어떻게합니까?
- 24. cron 작업을 1 시간 반마다 실행하도록 예약하려면 어떻게합니까?
- 25. VS 2005에서 디버그를 시작할 때 w3wp가 충돌 함
- 26. iPhone 메모리 오류 - 빌드 및 디버그를 사용할 때 디버그하는 방법?
- 27. webclient 및 디버그를 사용하고 targetinvocation 예외를 얻지 않는 방법은 무엇입니까?
- 28. vmpalyer 내에서 실행중인 Visual Studio로 원격 디버그를 시도 중
- 29. 이클립스에서 시작하지 않으면 프로세스 포트 디버그를 어떻게 찾을 수 있습니까?
- 30. iPhone에서 릴리스/디버그를 위해 하나의 정적 라이브러리를 어떻게 생성합니까?
감사합니다. – Luiscencio