"Access violation at address" -- 이런 에러에 대해 찾아봤음..

질문과답변

"Access violation at address" -- 이런 에러에 대해 찾아봤음..

1 지르페 0 9,955
첫번째것은 일반적인 대답이구요..
두번째것은 발생원인에 대한 대답이구요..
세번째것은 좀 다른 경우지만 응용된 작업에 대한 대답이구요..
(kernel32.dll에 대한 것인데 스완에서는 ntdll.dll에 대한 것이니까요.)

IIS Debugger에 관련된 내용을 아시는 분이라면 이해가 빠르실듯..
전문적인 내용이라  ㅡㅡ.
다중 스레드를 어쩌구 하는데...여기서 읽는거 접구...글만 퍼 왔어요..
-----------------------------------------------------------------------------------------

Re: [질문] Access Violation at address XXXXXXXX. Read of addres...
From: 이성림
Date: 99-05-13
Time: 오전 9:44:40
Remote Name: 203.241.138.143

Comments
사용자가 만든 컴포넌트를 package에 포함시켜 놓은것 같군요.. 해당 프로그램이 컴파일되면서 관련 컴포넌트를 찾는 과정에서 컴포넌트 이름이 충돌나든지 하는 문제일 겁니다. install component나 사용자가 만든 bpl에 가셔서 필요없는 컴포넌트들을 삭제하시고 다시 해보세요.. 아마 될거예요..

-----------------------------------------------------------------------------------------

많은 IIS 에러들이 IIS 프로세스 공간(Inetinfo.exe) 내부에서 발생하는 exception에 의해 나타나게 됩니다. 가장 일반적인 에러가 access violation의 결과로 나타나는 0xC0000005 exception입니다. Access violation은 IIS 프로세스내의 DLL이 할당받지 못한 메모리에 접근하려고 하거나 이미 free된 메모리를 다시 free하려고 할 때 발생합니다.

건드리지도 않았는데 웹서버가 혼자서 작동을 중지하는 건 어떤 경우일까요? 이것은 access violation이나 IIS 내에서 또다른 형태의 exception이 발생한 경우입니다. 또다른 일반적인 IIS 이슈는 ASP 0115 exception인데, 이것 역시 access violation이 발생했을 때 브라우져와 IIS log에 나타나게 됩니다.

----------------------------------------------------------------------------------------

"Access violation at address BFF7B983 in module 'KERNEL32.DLL', Read of adress FFFFFFFF"가 뜨면서 강의를 볼 수 없어요. 어떻게죠?

Kernel32.dll의 잘못된 연산으로 프로그램을 종료한다’는 메시지는 가장 자주 생기는 오류다. kernel32.dll 파일은 윈도우 장치 드라이버를 읽어들이는 핵심 라이브러리 파일이다. 이럴 때는 오류 자체를 해결하기가 아주 어렵다. 윈도우의 고질적인 문제파일이라고 할 수 있다. 따라서 Kernel32 오류는 문제가 생기고 나서 오류를 고치는 것보다는 예방이 최선의 방법이다. 보통 kernel32 오류는 주로 다음과 같은 원인으로 생긴다. 1) 잘못된 메모리 관리자를 불러들일 때
윈도우 98은 Config.sys 파일과 Autoexec.bat 파일이 꼭 필요한 것은 아니지만 몇몇 응용 프로그램이나 이를 필요로 하는 하드웨어 때문에 계속 쓰게 된다. Config.sys 파일은 메모리 관리자를 읽을들일 수 있는 명령어를 넣을 수 있다. 이 때 명령어 줄에서 메모리 관리자를 불러들이는 명령어 때문에 Kernel32.dll 오류가 생길 수 있다. 대표적인 예가 ‘DEVICE=C:\WINDOWS\HIMEM.SYS/TESTMEM:ON'이다. 따라서 Config.sys 파일에 이런 종류의 명령어가 들어가 있다면 모두 지우도록 한다.

2)그래픽 가속 기능이 최고로 설정되어 있을 때
요즘 나오는 그래픽 카드는 문제기 없지만 예전 모델이 달려 있다면 한번쯤 체크해 볼 필요가 있다. 그래픽 가속 기능을 최대로 설정할 때 Kernel32 오류를 만날 수 있기 때문이다. 이 문제를 해결하려면 다음의 순서로 작업하면 된다. ① 바탕 화면의 [내 컴퓨터]를 고른 뒤 마우스 오른쪽 버튼을 눌러 나타나는 메뉴에서 [등록 정보]를 고른다. ② [시스템 등록 정보] 대화상자에서 화면처럼 ‘하드웨어 가속’ 기능을 ‘가속기 일반 기능 이용’ 이하로 낮추고 [확인] 버튼을 누른다. 각 기능 수준에 대한 설명은 아래쪽에 나타나므로 이를 참고한다. 

3) 무리하게 오버클러킹했을 때
많은 사람이 관심을 갖는 오버클러킹은 가격 대 성능비가 EN어난 시스템을 확보할 수 있는 지름길이지만 CPU에 과부하를 줌으로써 Kernel32.dll 오류를 불러올 수 있다. 이런 상황이라면 CPU 오버클러킹은 포기해야 한다. 무리하게 오버클러킹을 했다면 데이터를 잃는 최악의 경우도 생긴다. 이런 부작용을 피하려면 관련 정보와 다른 사람의 경험을 충분히 검토한 뒤 오버클러킹을 시도하도록 한다.

4) 손상되거나 유효 기간이 지난 드라이버를 쓸 때
그래픽 카드의 드라이버가 망가졌을 때 kernel32.dll 오류가 일어날 수 있다. 따라서 앞에서 적은대로 최신 드라이버를 쓰는 것이 가장 효과적인 오류 방지책이다. 최신의 드라이버라 할지라도 베타버전이라면 판오림을 하지 말 것을 권한다. 갖가지 버그가 생기고 기그템 리소스를 불필요하게 잡아먹을 가능성이 있기 때문이다.
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오스토리로 보내기
  • 네이버밴드로 보내기
  • 네이버로 보내기
  • 텀블러로 보내기
  • 핀터레스트로 보내기
 

Comments