나의 지식/지식과 시사만평

런타임 에러 해결법

臥龍 李秉喆불잉걸眞劍 2018. 11. 9. 02:39

인터넷을 이용하던 중에 또는 문서 작업을 하다보면 에러 메시지 창이 나타난다. 그러나

영어로 써 있기도  하고 자주 생기는 현상이라 메시지 창을 닫고 다시 하던 일을 계속한다. 그런데 무시하면 무시할수록 나타나는 빈도가 높아지는 이 에러 메시지. 심하면 갑자기 튕겨 나가기까지 한다. 더 이상 ‘귀찮으니 그냥 두자’로 버티기 어려워 짜증이 난다.
도대체 이 ‘Runtime Error!’란 건 우었인가? 알아보고 원천적으로 해결하자 

  

 

 그림 1 : 런타임 에러 알림창  

 

 인터넷을 하는데 런타임 에러 뜨고 확인 누르거나 X누르면 인터넷 띄워놓은 화면 다 꺼집니다.

내문서나 검색 등 이런 건 안 그러는데 . 인터넷만 하면 발생한다.  다 꺼버리고 다시 들어가서 하면
또 몇 분 있다가 또 생긴다 ㅠㅠㅠ!

 

 회사 컴퓨터를 켜면 맨날 런타임 에러 메시지가 뜬다. 그 전에 인터넷 익스플로러 오류창도 뜨고. 
컴터 상단 메뉴 줄 위에 쓸데없는 창 메뉴들이 마구마구 뜬다. 뭐가 문제인 걸까?

 

정품 구입해서 게임하고 있는데, 게임 하다가 갑자기 강제 중지되면서 런타임 에러 창이 뜬다.

 

 노트북이 좀 안 좋은 거긴 한데, **게임을 할 때 꼭 한번씩 영어로 런타임 에러라고 뜨면서 튕기거나 멈춘다. 

  

인터넷 상에 자주 등장하는 런타임 에러 관련 질문이다. 컴퓨터가 다운된다거나 시스템에 심각한 문제를 일으키지는 않지만 굉장히 성가실 수밖에 없다. 런타임 에러가 발생하는 경우는 매우 다양해서 원인과 해결 방법을 일일이 열거하기 힘들 정도다. 그래서 가장 빈번한 런타임 에러 발생 원인과 간단하게 시도해 볼 수 있는 몇 가지 해결 방법을 소개한다 . 

                                                    런타임 에러 해결 방법                           

런타임 에러(Runtime Error)가 무엇인지, 왜 발생하는지는 다소 복잡하고 기술적인 얘기니 자세한 설명은
아래에서 하겠으며 .  ‘프로그램을 실행하는 중에 나타나는 에러’ 정도로 알아두고,
가장 궁금한 해결 방법부터 설명한다. 

 

런타임 에러는 보통 박스가 팝업창으로 뜨면서 빨간색 엑스 마크와 함께 나타난다. 어떨 때는 뭘 하나 누르려고 해도 계속 뜨는 경우가 있기도 한다. 이렇게 런타임 에러가 발생했을 때에는 레지스트리 편집기를 실행하는 게 가장 일반적이다. 바이러스인가 싶어 백신 프로그램을 돌리는 사람도 있지만 그런 경우는 극히 드물다.

 

런타임 에러의 해결방법은 크게 두 가지가 있다. 물론 이 두 가지로 전부 해결되는 건 아니다. 런타임 에러의 종류가 매우 다양하기 때문에 각 코드별 대처법에 따라 해결해야 한다.

 

먼저 인터넷 익스플로러(Internet Explorer, 이하 IE) 웹브라우저에서 ‘인터넷 옵션 고급 설정’을 변경 또는 초기화 하는 방법이다. IE 창을 열고 오른쪽 상단에 톱니모양 아이콘을 클릭해서 인터넷 옵션으로 들어간다. 인터넷 옵션 창이 열리면 상단메뉴 중 고급을 선택한 후 [그림 2]와 같은 설정 내용에서 두 개의 ‘스크립트 디버깅 사용 안 함’를 체크 해제한다. 이어 ‘적용’, ‘확인’을 차례로 클릭 후 재부팅을 한다. 만약 런타임 에러가 해결이 되지 않았다면 기본 설정 복원의 ‘원래대로’를 클릭 후 재부팅한 다음 해결이 되었는지 확인을 한다.

 

 

    그림 2 : 인터넷 옵션 고급 설정 

 

두 번째 방법은 레지스트리 편집기에서 BHO(Browser Helper Objects) 하위 폴더를 제거하는 것이다. 키보드에 있는 ‘윈도우 키 + R’을 눌러 실행창을 열고 ‘regedit’을 입력 후 확인을 클릭한다. 그러면 레지스트리 편집기가 열리는데, 왼쪽 메뉴에서 HKEY_LOCAL_MACHINE 를 선택 후 키보드의 F3을 클릭해 찾기 창이 열리면 Browser Helper Objects 입력 후 다음 찾기를 클릭한다. Browser Helper Objects 폴더를 찾아서 하위 폴더만 삭제 후 레지스트리 편집기 창을 닫고 컴퓨터 재부팅 후 런타임 에러가 해결되었는지 확인을 한다.

 

 

 그림 3 : 레지스트리 편집기의 BHO  

런타임 에러를 사형시키자

대표적인 런타임 에러 사례와 해결 방법을 알아보았으니 컴앵이 아니라도  궁금한  

런타임 에러의 정체에 관해서  상식적으로 알고있자.  

런타임 에러는 Visual C++이나 DLL에 관련된 에러로 해당 응용 프로그램에 문제가 발생한 것이 대부분의

 원인이다. 응용 프로그램이나 게임, 웹사이트에 접속을 할 때 간혹 DLL(dynamic linking library: 소프트웨어의 루틴을 몇 개의 파일로 나누어 디스크에 두고 필요한 것만을 실행 메모리에 실어서 사용하기 위한 파일)

오류가 생겨서 정상적으로 구동되지 않을 때가 있다.  바로 나독나  대표적인 런타임 에러다.

 

런타임(runtime)은 컴퓨터에서 컴퓨터 프로그램이 실행되고 있는 동안의 동작을 말하는데, 좀 더 자세하게는 컴퓨터 언어 안에 쓰인 프로그램을 관리하기 위해 특정한 컴파일러나 가상머신이 사용하는

기본 코드의 라이브러리를 일컫는다. 

 

프로그램이 실행 중에 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우는 매우 흔하다.

이거것을 프로그램 에러 또는 오류라고 하는데 발생시점에 따라 컴파일 에러(compile-time error)와 런타임 에러(runtime error)로 나눌 수 있다. 컴파일 시에 발생하는 에러는 컴파일 할 때 발생하는 에러이고 프로그램의 실행도중에 발생하는 에러를 런타임 에러라고 한다. 이 외에도 논리적 에러(logical error)가 있는데, 컴파일도 잘되고 실행도 잘되지만 의도한 것과 다르게 동작하는 것을 말한다.

 

런타임 에러는 프로그램이나 하드웨어 문제로 호환이 되지 않는 html 코드를 사용하거나 비정상적으로

등록된 레지스트리가 스크립트를 꼬이게 만들어 연산에 충돌이 일어났을 때 발생하는 에러이다.

 

쉽게 표현하면 런타임 에러는 실행 시에 일어나는 에러를 말한다. 대부분 프로그램을 짤 때 프로그램 상의

오류(문법적으로는 오류가 없는 경우도 많다)와 함께 기계적 결함 등으로 일어나기도 한다. 설계 실수로

인한 런타임 에러는 무한 루프(조건문을 잘못 써서 조건문에서 빠져나가지 못하는 경우) 또는 Div/0(0으로

나누는 경우) 등이 있다. 

  

현실적으로 100% 완벽한 소프트웨어는 있을 수 없다. 아무리 잘 만든 소프트웨어도 오류가 있기 마련이다.

이러한 오류에 의한 불편함 중 하나가 런타임 에러다. 다행히 대부분의 런타임 에러는 PC 자체의 심각한

문제로 이어지지는 않지만, 한창 집중하고 있을 때 발생하는 런타임 에러는 짜증을 넘어 때로
머니터를  부수고싶은 충동을 느끼기도 한다. 더 이상 귀찮다고 그냥 ‘엑스’를 눌러 창을 닫지 말고

위에서 소개한 방법으로  런타임 에러 메시지 없는 속 편한 PC 환경을 구축하고 기분좋게 작업하고

인터넷 서핑을 하자