2008-09-29 2 views
2

짧은 Q :이 예외는 무엇을 의미합니까? "EXC_BAD_ACCESS (0x0001)"OS X 오류 로그에서 앱 오류를 진단하는 방법은 무엇입니까?

전체 질문 :이 오류 로그 정보 (및 여기서 생략 한 스레드 정보)를 사용하여이 응용 프로그램 오류를 진단하려면 어떻게합니까? (NB : 충돌 로그 또는 OS 커널에 대한 전문 지식이 없습니다.)

이 경우, 명백한 시스템 변경이없는 경우마다 내 이메일 클라이언트 (Eudora)가 시작될 때마다 즉시 충돌합니다.

Host Name:  [name of Mac] 
Date/Time:  2008-09-28 14:46:54.177 -0400 
OS Version:  10.4.11 (Build 8S165) 
Report Version: 4 
Command: Eudora 
Path: /Applications/[...]/Eudora Application Folder/Eudora.app/Contents/MacOS/Eudora 
Parent: WindowServer [59] 
Version: 6.2.4 (6.2.4) 
PID: 231 
Thread: 0 
Exception: EXC_BAD_ACCESS (0x0001) 
Codes:  KERN_PROTECTION_FAILURE (0x0002) at 0x00000001 

답변

2

간단한 질문에 답하십시오 : EXC_BAD_ACCESS는 불법적 인 메모리 액세스를 의미합니다. 이것은 프로그램이 가상 주소 공간 (대략 OS 커널에서 요청한 메모리 영역) 외부의 메모리 위치를 사용하려고했음을 의미합니다. 이것은 유닉스 사람들이 일반적으로 "세분화 오류"(segfault)라고 부르는 것, 그리고 Windows 사람들이 일반적으로 "액세스 위반"(AV) 또는 "일반 보호 오류"(GPF)라고 부르는 것입니다. (예, 아마 이미 알고있을 것입니다.) 그러나 단지 확인 중입니다 ...)

어떤 메모리 주소를 참조했는지 말하는 충돌 보고서가 있습니까? 보고서에 콜 스택 또는 코어 덤프가 포함되어 있습니까? 세 가지 모두 매우 중요합니다. 특히 코어 덤프를 디버거에로드하고 예외 시점에서 프로그램을 다시 시작할 수 있습니다. 그리고 메모리 주소가 완전히 깨진 것처럼 보이는 경우 (가상 주소의 상위 절반 또는 0에 매우 가깝다면 문제가있는 곳을 알 수 있습니다).

2

그냥 마이클의 대답을 완료하십시오. - 충돌 로그를 분석하는 것이 당신이해야하는 것이 아닙니다. eudora 프로그래머들은 망쳤습니다 (또는 eudora 프로그래머가 eudora를 만들기 위해 사용하는 도구를 제공하는 사람들). 가장 좋은 방법은 메일 클라이언트에 충돌 로그의 전체 내용을 복사하여 붙여 넣는 것입니다 (MAUD를 시도하십시오, 지금 당장은 유도라를 사용하지 않는 것처럼 보입니다). 그리고 eudora-support @ eudora.com에 대한 간단한 설명과 함께. 무엇이 잘못되었는지 알아내는 것이 그들의 임무입니다.

관련 문제