지금까지 고민한 문제 중 가장 오랜 시간 고민하고 데이터를 수집한 문제는 XP를 사용할 때 자주 보게 되는 Appcompat.txt 오류이다. Appcompat.txt 오류라고 표현하지만 오류의 원인은 Appcompat.txt
파일과는 큰 상관이 없다. Appcompat.txt
파일은 오류가 발생했을 때 오류 정보를 일시적으로 저장하는 파일에 불과하기 때문이다.
그런데 많은 사람이 이 오류를 Appcompat.txt 오류라고 표현하는 이유는 사용자에게 최종적으로 표시되는 메시지에 이 파일의 이름이 포함되어 있으며, 막상 이 파일의 내용을 보려고 하면, 이 파일을 찾을 수 없는 경우가 대부분이기 때문이다.
Appcompat.txt 오류라고 했지만 다음과 같은 증상이 발생한다면 같은 오류로 봐야 한다.
- 프로그램이 아무런 메시지 없이 종료됨
- 작업 표시줄이 사라졌다가 다시 나타남
- 다음과 같은 오류 메시지를 출력함
"0x00408871"에 있는 명령이 "0x00000546"의 메모리를 참조했습니다. 메모리는 "read"될 수 없었습니다.
프로그램을 마치려면 [확인]을 클릭하십시오. 프로그램을 디버그하려면 [취소]를 클릭하십시오.
이 오류의 원인은 상당히 다양하다. 그 이유는 간단하다. 시스템의 오류 보고 기능을 켜놓은 상태에서 발생한 모든 오류는 Appcompat.txt 오류이기 때문이다. 일단 시스템의 오류 보고 기능을 켜놓은 상태에서 어떤 절차를 통해 오류 보고가 이루어지는지 알아보자.
- 일단 오류가 발생하면 시스템 정보, 오류를 발생한 모듈 등 오류의 원인을 파악할 수 있는 정보를
Appcompat.txt
파일에 저장한다. - 그림과 같은 오류 메시지 창을 띄운다.
- 사용자가 '오류 보고 보냄' 버튼을 클릭하면
Appcompat.txt
파일의 내용을 피드백을 위해 Microsoft로 전송하며 '보내지 않음' 버튼을 클릭하면Appcompat.txt
파일을 삭제한 후 창을 닫는다.
따라서 시스템에서 발생하는 예상치 못한 모든 오류는 Appcompat.txt 오류라고 볼 수 있다. XP를 사용하다 보면 이러한 오류가 생각지도 않게 자주 보게 되는 경우가 종종 있는데 그 이유는 모든 오류가 Appcompat.txt 오류이기 때문이다.
저작권
이 글은 QAOS.com에 2006년 5월 30일에 올린 Appcompat.txt 오류의 원인과 대책를 블로그에 올리는 것이다. QAOS.com에서 가져온 모든 글은 QAOS.com의 저작권(불펌 금지, 링크 허용)을 따른다.