Windows 런타임 오류란 무엇이며 어떻게 수정합니까?

Windows의 런타임 오류(Runtime errors in Windows) 는 운영 체제 자체만큼 오래되었습니다. 앱이 충돌할 때 표시되는 일반적인 오류 메시지이지만 런타임 오류가 정확히 무엇이며 이에 대해 무엇을 할 수 있습니까?

소프트웨어(Software) 개발은 ​​복잡하며 최신 애플리케이션은 예상대로 작동하기 위해 정교한 라이브러리와 지원 데이터에 의존합니다. 이 가이드는 런타임 오류가 발생하는 이유와 오류를 최소화하는 방법을 이해하는 데 도움이 됩니다.

런타임 오류란 무엇입니까?

"런타임 오류"라는 용어는 프로그램이 실행될 때 발생하는 모든 응용 프로그램 오류를 의미합니다. 즉, 실행 중인 프로그램에서 발생합니다. 이는 프로그램을 컴파일할 때 발생하는 오류와 대조됩니다. 컴파일은 프로그래밍 코드("소스" 코드)를 가져와 운영 체제에서 사용할 수 있는 이진 코드로 변환하는 프로세스입니다. 소스 코드의 일부가 유효하지 않으면 컴파일러가 중지되고 오류 메시지가 표시됩니다.

런타임 오류는 컴파일된 실행 파일이 다음에 무엇을 해야할지 모르거나 무언가 정상적인 작동을 방해하는 상황에 직면할 때 발생합니다. 이 시점에서 수건을 던지고 런타임 오류가 발생합니다.

다른 유형의 런타임 오류

런타임 오류는 매우 광범위하게 정의되기 때문에 문제 해결이 까다로울 수 있습니다. 발생할 수 있는 일반적인 유형의 오류를 이해하는 데 도움이 됩니다. 아래의 다섯 가지 오류 유형은 완전하지는 않지만 가장 가능성이 높은 원인입니다.

논리 오류

논리 오류는 컴퓨터가 문자 그대로 " 계산하지 않는(does not compute) " 무언가를 만났을 때 발생합니다 . 코드의 논리가 추적되지 않거나 프로그래머가 특정 조건이나 입력 집합을 예상하지 않았기 때문에 예기치 않은 결과, 때로는 불가능한 결과를 생성하는 프로그램 코드에 의해 생성된 출력입니다.

메모리 누수

메모리 누수는 프로그램이 더 이상 필요하지 않은 후에 요청한 메모리를 반환하지 않을 때 발생합니다. 시간이 지남에 따라 메모리 누수는 다른 프로그램에 대한 리소스를 점점 더 적게 남겨두므로 성능이 저하되고 결국 런타임 오류가 발생합니다. 런타임 오류를 보고하는 소프트웨어는 일반적으로 메모리 누수가 있는 소프트웨어가 아니기 때문에 이것은 흥미로운 것입니다. 유출의 피해자일 뿐입니다.

0으로 나누기

0으로 나누는 것은 불가능하므로 컴퓨터가 시도할 때 블랙홀로 폭발합니다. 농담(Just) 이야! "0으로 나눌 수 없습니다."라는 줄을 따라 런타임 오류로 프로그램이 충돌합니다.

정의되지 않은 개체

이 오류는 일반적으로 값이 할당되지 않았거나 선언되지 않은 변수가 있는 JavaJavaScript 와 관련이 있습니다. (JavaScript)즉, 변수에 데이터가 없거나 코드가 존재하지 않는 변수를 참조합니다. 기본적으로(Basically) 프로그래머는 어떤 식으로든 엉망이 되었습니다.

IO 오류

IO 또는 Input/Output 오류는 프로그램이 저장 장치에서 데이터를 읽거나 쓰려고 시도하다가 실패할 때 발생합니다. 연결이 끊긴 드라이브에서 결함이 있는 하드 드라이브 또는 USB(USB) 하드웨어 에 이르기까지 다양한 이유가 있을 수 있습니다 . 긁힌(Scratched) 광 디스크는 IO 오류의 또 다른 일반적인 원인입니다.

런타임 오류를 수정하는 방법

따라서 런타임 오류가 발생했으며 작업을 완료하려고 하기 때문에 당황하고 있습니다. 런타임 오류는 다양한 종류가 있으며 특정 오류는 유형에 대한 단서가 될 수 있지만 세부 사항에 관계없이 작동할 수 있는 몇 가지 일반적인 수정 사항이 있습니다.

컴퓨터 재부팅

컴퓨터를 재부팅하면 메모리 누수 문제가 해결되거나 임시 데이터 캐시 또는 프로그램 중지의 원인이 될 수 있는 기타 작업 데이터가 지워질 수 있습니다. 재부팅 후 문제가 사라지면 원인을 해결하는 데 도움이 되지 않지만 가끔 발생하는 문제의 경우 다시 시작하는 것이 빠른 해결 방법입니다.

애플리케이션 업데이트

종종 소프트웨어의 런타임 오류는 소프트웨어 자체의 버그로 인해 발생합니다. 소프트웨어 개발자가 이러한 버그를 알게 되면 일반적으로 문제를 수정하고 응용 프로그램에 대한 업데이트를 릴리스합니다. 따라서 가장 먼저 해야 할 일 중 하나는 소프트웨어 업데이트가 있는지 확인하는 것입니다.

아마도 더 중요한 것은 Windows 런타임 오류가 발생하면 개발자에게 보고해야 한다는 것입니다. 때때로 오류 메시지 옆에 보고 버튼이 있습니다. 다른 경우에는 스크린샷을 찍거나 오류 코드를 기록한 다음 이메일이나 소셜 미디어를 통해 연락해야 할 수 있습니다. 새로운 버그를 보고하면 수정하는 속도를 높일 수 있습니다.

윈도우 업데이트

런타임 오류는 Microsoft Windows(Microsoft Windows) 자체 의 버그 또는 기타 문제로 인해 발생할 수도 있으며 Windows 업데이트 에서 종종 수정 됩니다. 작은 문제는 일반적으로 특정한 긴급한 문제를 수정하는 작은 업데이트인 "핫픽스"에서 해결됩니다.

또는 Windows(Windows) 업데이트 직후 프로그램에서 런타임 오류가 발생하기 시작한 경우 개발자가 소프트웨어를 업데이트할 때까지 마지막 업데이트를 삭제할 수 있습니다.(delete the last update)

오래된 드라이버 업데이트

드라이버는 운영 체제가 디스플레이 어댑터( 일명(AKA) 그래픽 카드)와 같은 하드웨어를 제어할 수 있게 해주는 소프트웨어입니다. (New) 소프트웨어 또는 새로 업데이트된 소프트웨어는 최신 버전의 드라이버에만 있는 기능에 의존할 수 있으므로 컴퓨터 구성 요소용 드라이버를 업데이트 할 때 하드웨어 관련 런타임 오류를 수정할 수 있습니다.(update drivers)

애플리케이션 재설치 또는 복구

런타임 오류는 손상된 애플리케이션 파일 또는 데이터의 결과일 수 있습니다. 따라서 프로그램 실행 파일이 작동에 필요한 데이터에 액세스하려고 하면 해당 데이터가 잘못되었거나 누락되었기 때문에 오류가 발생합니다.

응용 프로그램을 제거하고 다시 설치하면 손상된 데이터를 새 복사본으로 덮어쓸 수 있습니다. 먼저 응용 프로그램을 제거하지 않아도 됩니다. 많은 앱은 설치 프로그램을 다시 실행하거나 제어판 의 (Control Panel)프로그램(Programs)기능(Features) 섹션 에서 제거(uninstall) 하려고 할 때 "복구" 또는 "확인" 옵션을 제공합니다 .

다른 모든 앱 닫기

메모리 누수로 인해 발생하거나 특정 앱에 사용 가능한 것보다 더 많은 메모리가 필요하기 때문에 발생하는 런타임 오류는 열려 있는 불필요한 프로그램을 닫음으로써 완화할 수 있습니다. 또한 스왑 파일의 크기를 조정하여 RAM(RAM) 에 맞지 않는 앱을 ​​위한 여유 공간을 만들 수도 있습니다 .

런타임 오류가 메모리 누수 때문이 아니라 메모리 용량 때문이라고 확신하는 경우 컴퓨터의 RAM 용량을 업그레이드하여 무거운 워크로드를 처리할 수도 있습니다.

(Run Windows)안전 모드(Safe Mode) 에서 Windows 실행 또는 클린 부팅 수행(Boot)

발생한 런타임 오류가 백그라운드에 있는 드라이버 또는 기타 소프트웨어 응용 프로그램의 결과라고 의심되는 경우 안전 모드(Mode) 또는 클린 부팅을 사용하여 확인할 수 있습니다.

안전 모드 는 최소한의 드라이버와 (Safe Mode)Windows 서비스 만 로드하는 Windows 의 특수 부팅 모드입니다 . 안전 모드(Safe Mode) 에서 문제가 사라지면 문제가 드라이버 관련(업데이트) 또는 Windows 서비스인지 상당히 확신할 수 있습니다. 안전 모드에서 시작하는 방법(how to start up in Safe Mode) 에 대한 가이드를 참조하여 도움이 되는지 확인하세요. 그렇다면 MSConfig 서비스 탭(MSConfig services tab) 에서 서비스 비활성화를 실험해 볼 수 있습니다 .

클린 부팅은 안전 모드(Safe Mode) 와 거의 반대입니다 . Windows 는 최소 운영 체제를 로드하는 대신(Rather) 모든 타사 시작 소프트웨어를 비활성화합니다. 클린 부팅으로 런타임 오류가 해결되면 비활성화, 업데이트 또는 교체가 필요한 타사 앱일 수 있습니다. 클린 부팅을 수행하는 방법(how to perform a clean boot) 에 대한 가이드를 참조하십시오 .

런타임 구성 요소 업데이트

소프트웨어(Software) 는 종종 공유 소프트웨어 라이브러리 및 표준 소프트웨어 런타임 구성 요소에 의존합니다. 설치되지 않았거나 손상되었거나 버전이 잘못된 경우 문제가 발생할 수 있습니다. 이러한 런타임 구성 요소의 예로는 Microsoft Visual C++ redistributable package 가 있습니다.

Microsoft 웹 사이트 에서 필수 VC++ 재배포 가능 패키지를 다운로드할 수 있지만 일반적으로 이를 필요로 하는 소프트웨어에 포함되어 있습니다. 따라서 앱을 다시 설치하거나 복구하면 Visual C++ 런타임 라이브러리도 복원되어야 합니다. 런타임 오류 메시지는 일반적으로 "C++ 런타임 오류"라고 지정하기 때문에 식별하기 가장 쉬운 런타임 구성 요소 문제 중 하나입니다.

손상된 파일 확인

데이터(Data) 손상은 파일을 구성하는 1과 0이 어떤 이유로 손상되거나 덮어쓰여질 때 발생합니다. 시스템 또는 애플리케이션 파일이 손상되면 예기치 않은 런타임 오류가 발생할 수 있습니다.

Windows 시스템 파일 검사기(Windows System File Checker) ( SFC )를 실행하여 시스템 파일의 손상을 확인하고 복구할 수 있습니다. 응용 프로그램의 경우 먼저 앱을 제거하지 않고 실행하면 대부분의 경우 설치 프로그램에 "복구" 옵션이 있습니다. Steam 과 같은 소프트웨어 클라이언트 를 사용하면 게임에서 "확인" 옵션을 사용하여 파일이 여전히 전체인지 확인할 수도 있습니다.

맬웨어 검사 수행

많은 유형의 맬웨어가 실행 중인 코드에 자신을 주입하거나 데이터 파일을 손상시키거나 실행 파일을 변경합니다. 이 모든 것이 런타임 오류로 이어질 수 있습니다. 오류가 발생하는 원인으로 맬웨어를 배제하려면 선호하는 바이러스 백신 또는 맬웨어 방지 소프트웨어를 사용하여 검사를 실행하십시오.

메모리 테스트 수행

실행 중인 소프트웨어가 처리를 위해 CPU 에 도달하기 전에 (CPU)RAM 에서 멈춥니다 . RAM 에 결함이 있는 경우 추적하기 어려운 런타임 오류가 발생할 수 있습니다. 메모리 테스트(memory test) 를 실행하고 메모리 모듈에서 비트가 뒤집히는 문제가 아닌지 확인하십시오!



About the author

저는 10년 이상의 경험을 가진 전문 오디오 및 키보드 기술자입니다. 저는 기업 세계에서 컨설턴트 및 제품 관리자로 일했으며 가장 최근에는 소프트웨어 엔지니어로 일했습니다. 저의 기술과 경험을 통해 중소기업에서 대기업에 이르기까지 다양한 유형의 프로젝트를 수행할 수 있습니다. 저는 또한 Windows 11의 전문가이며 현재 2년 이상 새 운영 체제에서 작업하고 있습니다.



Related posts