컴퓨터 지식 네트워크 - 컴퓨터 구성 - mshta.exe 애플리케이션 오류

mshta.exe 애플리케이션 오류

범주: 컴퓨터/네트워크 >> 프로그래밍 >> 기타 프로그래밍 언어 ​​

문제 설명:

보세요!

시작-제어판-사용자 계정

클릭 가능한 옵션을 모두 클릭할 때. mshta.exe 응용 프로그램 오류 프롬프트

"0X77C17FD4" 명령이 참조하는 "0x****************" 메모리입니다. 이 메모리는 "읽을" 수 없습니다.

분석:

메모리를 "읽을" 수 없는 문제에 대한 해결책

일부 프로그램을 실행할 때 가끔 메모리 오류 메시지가 나타났다가 다시 나타나는 현상이 있습니다. 프로그램을 닫으세요.

"0x" 명령어가 참조하는 "0x" 메모리입니다. 이 메모리는 "읽을" 수 없습니다.

"0x" 명령이 참조하는 "0x" 메모리는 "쓰기"할 수 없습니다.

이 현상에는 여러 가지 측면이 있습니다. 하나는 하드웨어, 즉 메모리에 문제가 있는 것이고, 다른 하나는 소프트웨어에 문제가 많은 것입니다.

1: 먼저 하드웨어에 대해 이야기해 보겠습니다.

일반적으로 컴퓨터 하드웨어는 쉽게 깨지지 않습니다. 메모리 문제가 발생할 가능성은 높지 않습니다(메모리가 실제로 쓰레기가 아닌 한). 주요 측면은 다음과 같습니다. 2. 메모리 모듈이 파손되었습니다(주로 중고 메모리). 품질 문제가 있는 메모리를 사용하는 경우, 3. 메인보드에 메모리가 삽입되는 골드핑거 부분에 먼지가 너무 많습니다. 4. 용량이 다른 다양한 브랜드의 메모리를 사용하면 호환성이 저하됩니다. 5. 오버클럭으로 인한 열 방출 문제. MemTest 소프트웨어를 사용하여 메모리를 테스트하면 메모리의 안정성을 철저하게 감지할 수 있습니다.

2. 문제가 없으면 소프트웨어 문제를 해결합니다.

먼저 원리에 대해 이야기해 보겠습니다. 메모리에는 버퍼라는 데이터를 저장하는 장소가 있습니다. 프로그램이 버퍼에 데이터를 넣을 때는 운영 체제에서 제공하는 "기능적 기능"이 필요합니다. 메모리 할당이 성공하면 함수는 새로 열린 메모리 영역의 주소를 응용 프로그램에 반환하고 응용 프로그램은 이 주소를 통해 이 메모리를 사용할 수 있습니다. 이것이 "동적 메모리 할당"이며 프로그래밍에서 메모리 주소는 "커서"입니다. 메모리는 항상 사용 가능하고 고갈되지 않는 것이 아니며 때로는 메모리 할당이 실패합니다. 할당이 실패하면 시스템 기능은 0 값을 반환합니다. 이때 반환 값 "0"은 더 이상 새로 활성화된 커서를 나타내는 것이 아니라 시스템에서 응용 프로그램에 오류가 있음을 알리기 위해 보낸 알림을 나타냅니다. 발생했습니다. 응용 프로그램으로서 메모리를 적용할 때마다 반환 값이 0인지 확인해야 합니다. 그렇다면 오류가 발생했음을 의미하며 이를 저장하기 위해 몇 가지 조치를 취해야 합니다. 이렇게 하면 프로그램의 "견고함"이 향상됩니다. 응용 프로그램이 이 오류를 확인하지 않으면 이 값이 "생각 관성"에 따라 할당된 사용 가능한 커서라고 생각하고 후속 실행에서 이 메모리를 계속 사용합니다. 주소 0의 실제 메모리 영역은 컴퓨터 시스템에서 가장 중요한 "인터럽트 설명자 테이블"을 저장하며 응용프로그램에서는 이를 절대 사용할 수 없습니다. 보호 메커니즘이 없는 운영 체제(예: DOS)에서 이 주소에 데이터를 쓰면 즉시 충돌이 발생합니다. 그러나 Windows와 같은 강력한 운영 체제에서는 이 작업이 시스템의 보호 메커니즘에 의해 즉시 캡처됩니다. 결과는 오류가 확대되는 것을 방지하기 위해 운영 체제에서 잘못된 응용 프로그램을 강제로 닫는 것입니다. 이때, 위에서 언급한 메모리를 "읽을 수 없습니다"라는 오류가 나타나며, 참조되는 메모리 주소가 "0x************"임을 지적하게 됩니다. 메모리 할당 실패에는 여러 가지 이유가 있습니다. 메모리 부족, 시스템 기능 버전 불일치 등이 영향을 미칠 수 있습니다. 따라서 이러한 종류의 할당 실패는 운영 체제를 오랫동안 사용한 후, 다양한 응용 프로그램(실수로 "설치"된 바이러스 프로그램 포함)을 설치한 후, 많은 수의 시스템 매개 변수 및 시스템 파일이 변경되었습니다.

동적 할당을 사용하는 애플리케이션에서는 때때로 프로그램이 "사용 가능해야 하는" 메모리 부분을 읽고 쓰려고 시도하지만 어떤 이유로 예상되는 사용 가능한 커서가 만료되는 상황이 있습니다. . 운영 체제에 할당을 요청하는 것을 "잊었"거나 프로그램 자체가 "주의를 기울이지" 않은 채 어느 시점에서 이 메모리를 로그오프했을 수도 있습니다.

등록되지 않은 메모리는 시스템에 의해 회수되며 해당 액세스 권한은 더 이상 애플리케이션에 속하지 않습니다. 따라서 읽기 및 쓰기 작업도 "불법"을 시도하는 프로그램의 유일한 결과는 실행을 종료하는 것입니다. 모든 자원을 회수합니다. 컴퓨터 세계의 법률은 여전히 ​​인간의 법률보다 훨씬 더 효과적이고 엄격합니다! 이와 같은 상황은 모두 프로그램 자체의 버그이며 특정 작업 순서에서 오류를 재현할 수 있는 경우가 많습니다. 유효하지 않은 커서는 항상 0이 아니므로 오류 메시지의 메모리 주소는 반드시 "0x************"가 아니라 다른 임의의 숫자입니다.

첫 번째 제안:

1. 시스템에 트로이 목마나 바이러스가 있는지 확인하십시오. 이러한 프로그램은 시스템을 제어하기 위해 무책임하게 시스템을 수정하여 운영 체제에 이상을 일으키는 경우가 많습니다. 항상 정보 보안 인식을 강화해야 하며, 출처를 알 수 없는 실행 프로그램에 대해 절대 호기심을 가져서는 안 됩니다.

2. 운영 체제를 업데이트하고 운영 체제의 설치 프로그램이 올바른 버전의 시스템 파일을 다시 복사하고 시스템 매개변수를 수정하도록 합니다. 가끔 운영체제 자체에 버그가 있을 수 있으니 반드시 정식 업그레이드 프로그램을 설치하시기 바랍니다.

3. 최신 공식 버전의 애플리케이션을 사용해 보세요. 베타 버전, 평가판에는 버그가 있습니다.

4. Winnt\System32\Wbem\Repository 폴더에서 파일을 삭제한 다음 다시 만듭니다. 바탕 화면에서 내 컴퓨터를 마우스 오른쪽 버튼으로 클릭하고 관리를 클릭합니다. 서비스 및 응용 프로그램에서 서비스를 클릭한 다음 Windows Management Instrumentation 서비스를 닫고 중지합니다. Winnt\System32\Wbem\Repository 폴더의 모든 파일을 삭제합니다. (이러한 파일을 삭제하기 전에 백업 복사본을 만드십시오.) 서비스 및 응용 프로그램을 열고 서비스를 클릭한 다음 Windows Management Instrumentation 서비스를 열고 시작합니다. 서비스가 다시 시작되면 다음 레지스트리 키에 제공된 정보를 기반으로 이러한 파일이 다시 생성됩니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOF

또한

및 해결 방법

1. 메모리 모듈이 파손되었습니다. 메모리 모듈을 교체하세요.

2. 동일한 브랜드의 메모리를 사용하거나 메모리 품질을 하나만 사용하세요. 문제 메모리 모듈 교체

4 섀시 내부의 방열 문제

5 메모리와 마더보드가 제대로 삽입되지 않았거나 다른 하드웨어가 호환되지 않습니다. 메모리나 슬롯을 교체하세요.

6 하드웨어에 문제가 있으면 하드디스크를 교체하세요.

7 드라이버에 문제가 있으면 드라이버를 다시 설치하세요. 새 시스템이라면, 메인보드 드라이버를 먼저 설치해야 합니다

8 소프트웨어가 손상된 경우 소프트웨어를 다시 설치하세요

9 소프트웨어에 버그가 있는 경우 패치하거나 최신 버전으로 업데이트하세요

10 소프트웨어가 시스템과 호환되지 않으면 소프트웨어를 패치하거나 시스템의 호환 모드를 시도해보세요

11 소프트웨어와 소프트웨어 사이 충돌이 있는 경우 설치한 경우 최근 새로운 소프트웨어가 있으면 제거해 보세요.

12 특정 형식의 파일을 재생할 때 오류가 발생하는 등 관련 소프트웨어를 다시 설치하는 데 문제가 있는 경우 해당 소프트웨어는 다른 관련 소프트웨어를 사용해야 합니다. 이 파일은 디코더에 문제가 있습니다.

13 바이러스 문제 안티 바이러스

14 안티 바이러스 소프트웨어가 시스템이나 소프트웨어와 충돌합니다. 기본 모니터링 시스템이 일부 소프트웨어와 충돌할 수 있습니다. 제거해 보세요.

15 시스템 자체에 문제가 있는 경우도 있습니다. 때로는 운영체제 자체에도 버그가 있을 수 있으니 주의하세요. 그래도 문제가 해결되지 않으면 시스템을 다시 설치하거나 다른 버전으로 변경하는 것이 가장 좋습니다.

〔다른 설명〕

제어판의 프로그램 추가/제거에서 Microsoft NET.Framework가 이미 설치되어 있는지 확인하세요. 물론 향후 다른 프로그램에서 NET.Framework가 필요하면 다시 설치하면 됩니다.

또한 ATI 그래픽 카드를 사용하고 SP2 패치를 사용하는 경우(일부 ATI 그래픽 카드 드라이버는 NET.Framework가 제대로 작동할 수 있는 환경에 있어야 함). 이 경우 NET.Framework 지원이 필요하지 않은 ATI 그래픽 드라이버를 찾을 수 있습니다.

위의 두 가지 방법으로 문제를 완전히 해결할 수 없는 경우에는 "IE 복구" 소프트웨어를 사용하여 바이러스 등이 있는지 확인해볼 수 있습니다.

[Microsoft NET.Framework를 버전 1.1로 업그레이드해도 문제가 없습니다.]

[한 가지 더 말씀드릴 사항]

방법 1:

Microsoft 뉴스 그룹의 친구들은 다음과 같은 조언을 했습니다. 시작--실행: regsvr32 jscript.dll

시작--실행: regsvr32 vbscript.dll

그러나 그렇지 않았습니다. 해결---하지만 방법을 제공했습니다- ---- 모든 DLL을 한 번에 실행하고 등록합니다.

다음과 같이 검색하고 방법을 찾습니다.

실행하고 cmd를 입력하고 Enter를 눌러 명령 프롬프트에 입력하세요.

for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1

형님, 이것을 입력하세요 명령을 천천히 입력하면 화면이 빠르게 스크롤되는 것을 볼 수 있습니다. 그렇지 않으면 이 효과는 실패합니다. Enter 키를 누르고 천천히 기다린 다음(1~2분 소요) 열어서 모든 것이 실행되고 있는지 확인하세요.

방법 2:

이는 일반적인 문제입니다~~~~ ~ 이 문제의 원인에는 여러 가지 이유가 있습니다. 일반적으로 문제를 해결하는 방법에는 시스템 패치, 메모리 교체, 메모리 슬롯 변경의 세 가지 방법이 있습니다. [시스템 패치는 Microsoft Update 웹사이트에서 온라인으로 업데이트할 수 있습니다.]

(가끔)

이 문제에는 여러 가지 이유가 있습니다. 간단히 결론을 내릴 수는 없습니다. 몇 가지 사항이 도움이 될 수 있습니다.

1. 수정되지 않은 소프트웨어(중국어가 아닌 크랙 버전)를 사용하고 있는지 확인하세요.

2. 수정된 소프트웨어를 사용할 때에는 다른 소프트웨어를 실행하지 마십시오. (임시 파일입니다. 일부 소프트웨어에서는 임시 폴더를 사용할 수도 있어 간섭이 발생할 수 있습니다.)

3. 모든 데스크톱 도구 및 메모리 구성 도구를 끄십시오(유사한 도구가 2개 이상 실행 중임)."

해결 방법:

regedit를 실행하여 \SOFTWARE\ 아래의 HKEY_LOCAL_MACHINE에 레지스트리를 입력합니다. Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks에는 일반 키 값 "{AEB6717E-7E19-11d0-97EE-00C04FD91972} 하나만 있어야 하며 나머지는 삭제하세요.

[개인적인 최종 해결방안 및 의견]

오늘 다양한 방법을 시도해 보았는데, 결국 문제는 Microsoft의 NET.Framework에 있다는 것을 알게 되었습니다. 소프트웨어를 업그레이드하고 패치를 모두 적용했더니 잠시 안정을 취한 뒤 "메모리를 읽을 수 없습니다"가 나타났습니다. 나중에 위 기사에서 영감을 받아 Microsoft의 NET.Framework1.0과 1.1을 제거하자 세상은 평화로워졌습니다.

또한, "내 컴퓨터", "내 문서" 등을 열 때 위와 같은 상황이 발생한다면, 이때 마우스 오른쪽 버튼 클릭 메뉴가 너무 부풀어 올랐을 가능성도 있습니다. 마우스 오른쪽 버튼 클릭 메뉴를 올리면 문제가 해결됩니다.

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

[결과 테스트 중]

위 방법 중 가장 효과적이고 철저한 방법은 다음과 같습니다.

실행하고 cmd를 입력한 후 Enter 키를 눌러 명령 프롬프트에 입력합니다.

for %1 in ( %windir%\system32\*.dll) do regsvr32.exe /s %1

팁 입력 오류가 두려우면 이 명령을 복사한 다음 c를 클릭하세요. :\ 명령 프롬프트 상자의 왼쪽 상단에 있는 아래의 "편집-붙여넣기" 기능을 사용하면 실수하기가 더 쉽습니다. 빠른 스크롤이 완전히 멈춘 후에도 다른 프로그램을 시작하려고 서두르지 말고 잠시 기다려 주십시오. DLL은 현재 위치를 계속 찾고 있기 때문입니다. 표시등이 깜박이는 것을 멈출 때까지 다른 작업을 수행하지 마십시오.

上篇: LOLS6 프리시즌 양검 Thor EZ 룬 특성 및 장비 상세 가이드 下篇: OPPO 의 휴대폰 화면이 고장났습니다. 고칠 수 있어요?
관련 내용