2014-09-12 1 views
0

사용자가 데이터를 입력하는 프로그램이 있는데 예기치 않은 이유로 프로그램이 충돌합니다. 나는 표면에 오류를 수정하기 위해 다시 코딩하고 있지만, 충돌이 발생할 때 사용자가 저장되지 않은 작업을 잃지 않도록하고 싶습니다. 매 시간마다 파일을 자동 저장하는 솔루션을 설계했지만 ...프로그램 충돌시 파일에 앱 데이터 저장

오류 창 후에 강제 종료하기 전에 앱 데이터를 파일에 저장하는 방법이 있습니까?

이러한 상황을 처리하는 표준 방법은 무엇입니까? 내 질문을 읽어 주셔서 감사합니다.]

답변

0

크래시 유형에 따라 프로그램을 제어 할 수 없으므로 프로그램에 정상적으로 실패 할 기회가 주어지지 않을 수 있습니다. 이 경우 모든 중요한 사용자 활동을 로깅해야합니다.

갑자기 모든 사용자가 작업 A에서 실패하거나 그 근처에있는 것을 발견하면 작업 A가 오류의 원인 일 가능성이 큽니다. 또는 예를 들어 백업이 실행되는 특정 시간 일 수 있습니다.

평균 작업 시간을 분석하여 앱이 실패하기 전에 기간이 늘어난다는 것을 알 수 있습니다. 이로 인해 메모리 누수 또는 CPU 병목 현상이 발생할 수 있습니다.

찾은 내용에 따라 Action A에 대한 자세한 로깅을 추가하거나 다른 것을 시도 할 수 있습니다. 응용 프로그램의 성격을 모른 채 말하기는 어렵습니다.

+0

기본적으로 텍스트 필드가있는 주소록이며 comboboxes 데이터는 구조체 배열에 저장됩니다. 대부분의 충돌은 인덱스 문제로 인해 발생하며 여러 편집 창이 열립니다. –

+0

@WilliamMorschauser : 외부인이 아닌 경우 오류가 예상되는 모든 곳에서'Try ... Catch '를 사용해야합니다. 또한 예상치 못한 시나리오에 대해서는 [글로벌 처리기] (http://jonathonreinhart.blogspot.ca/2013/03/gotta-catch-em-all-last-chance.html)를 입력하십시오. 이 경우 앱을 종료하기 전에 유용한 정보를 기록 할 수 있습니다. 이상적으로 로그를 검토하거나 코드를 통해 여러 번 시도하여 오류를 수정하는 것이 이상적입니다. – Neolisk