Q&A

  • Access violation at... 의 정체를....
프로그램을 코딩을 마치고 컴파일 까지 에러없이 했는데...



프로그램을 실행하면 다음과 같은 에러가 발생하더군요...



Access violation at address 00501237 in module 'MyProg.EXE'. Read of address FFFFFFFF.



도대체 이 메세지의 정체가 뭔지 궁금하군요...



어떤 경우에 발생을 하고 어떻게 하면 막을 수 있는지 알고 싶습니다.



프로델피언님들의 조언 부탁 드립니다.



병아리 델피언이....

2  COMMENTS
  • Profile
    이주흥 2000.01.27 05:51
    지가 멀 알겠습니까만은..

    제 경험으로는 access violation에러는 대충 메세지를 보면

    알수 있듯이 없는곳에다가 멀 쓸려고 해서 나오는 에러 같습니다.

    address 뒤에 숫자가 나오는데 그 메모리 주소가 어딘지는 도저히

    알수 없더군요..하나하나 디버깅하시면 미처생성되지

    않은 객체나 메모리에 어떤 액세스를 가하는 부분이 있을겁니다..

    아니면 원래 없는곳에다 쓸려고 하거나...
  • Profile
    하얀까마귀 2000.01.27 07:33
    > > 프로그램을 실행하면 다음과 같은 에러가 발생하더군요...

    > >

    > > Access violation at address 00501237 in module 'MyProg.EXE'. Read of address FFFFFFFF.

    > >

    > > 도대체 이 메세지의 정체가 뭔지 궁금하군요...

    > >

    > > 어떤 경우에 발생을 하고 어떻게 하면 막을 수 있는지 알고 싶습니다.

    > >

    > > 프로델피언님들의 조언 부탁 드립니다.

    > >

    > > 병아리 델피언이....



    -- 정확하진 않지만 제가 아는걸 몇자 적을께요..



    Access violation Error은 메모리 참조 에러 같은 겁니다.

    파스칼 또한 포인터를 사용하기 때문에 당연히 이련 에러가 존재하는 거구요..

    예를 들어서 클래스를 할당하지 않고(생성 Create) 사용한다던지 할때, 또는

    앞에서 Free시켰는데 사용하는 경우 등.......

    그외에도 클래스 내부에서 발생될수도 있고요... 아주 다양한 경우에 발생합니다

    당연히 포인터니가 컴파일 할때는 에러가 나타나지 않고 실행시만 나타납니다.

    이걸 잡으실려면 디버깅을 하면서 발생하는 라인을 참고하세요...

    그 에러가 발생되는 곳을 찾아서 수정하시면 될겁니다. 그럼..



    도움이 되셨기를...

    아!!! 그리고 그 주소는 참조할려는 메모리 주소입니다. FFFFFF인걸로 보아 초기화를

    하지 않으신것 같은데.. 그리고 그 메모리는 실행때만 존재하니까 찾으실려면 아주

    힘드실 겁니다.. 그럼...

    도움이 되셧기를...