기업을 위한 IT 전문 파트너
  • 새소식
안랩, 잊을만하면 나타나는 런타임 에러, 왜 때문에?
  • 제조사
  • 게시일 : 2018-11-14
  • 조회수 : 933
  • SNS공유 페이스북 트위터
한창 인터넷을 이용하던 중에 혹은 집중해서 문서 작업을 할라 치면 뚱-! 둔탁한 경고음과 함께 에러 메시지 창이 나타난다. 영어로 써 있기도 하거니와 거의 매일같이 경험하는 일이라 메시지 창을 닫고 다시 하던 일을 계속한다. 그렇지만 무시하면 무시할수록 나타나는 빈도가 높아지는 이 에러 메시지. 심지어 게임 할 때는 갑자기 튕겨 나가기까지 한다. 더 이상 ‘귀찮으니 그냥 두자’로 버티기 어려운 지경까지 왔다. 도대체 이 ‘Runtime Error!’란 건 뭐란 말인가?





[그림 1] 런타임 에러 알림창


[ID: 극단적인 그녀] 인터넷을 하는데 런타임 에러 뜨고 확인 누르거나 X누르면 인터넷 띄워놓은 화면 다 꺼집니다. 내문서나 검색 등 이런 건 안 그러는데요. 인터넷만 하면 이러네요. 다 꺼버리고 다시 들어가서 하면 또 몇 분 있다가 엑박!

[ID: 컴알못] 출근해서 회사 컴퓨터를 켜면 맨날 런타임 에러 메시지가 뜹니다. 그 전에 인터넷 익스플로러 오류창도 뜨구요. 그리고 컴터 상단 메뉴 줄 위에 쓸데없는 창 메뉴들이 마구마구 떠요. 뭐가 문제인 걸까요?

[ID: 에라 모르겠다] **크래프트 정품을 사용하고 있는데요, 겜 하닥 갑자기 강제 중지되면서 런타임 에러 창이 떠요. 어떻게 해결해야 하나요 ㅠㅠ

[ID: 질풍노화] 제 노트북이 좀 안 좋은 거긴 한데, **워치나 배* 같은 게임을 할 때 꼭 한번씩 영어로 런타임 에러라고 뜨면서 튕기거나 멈추거든요. 해결 방법 좀 가르쳐 주세요!!


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


런타임 에러 해결 방법

런타임 에러(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 환경을 가져가는 건 어떨까.

 

[출처 : 안랩(((www.ahnlab.com)]

인터파크 큐브릿지 IT영업부
자세히보기
  • Office 365
  • CCT
TOP