컴퓨터 지식 네트워크 - 컴퓨터 학습 - 컴퓨터를 켜자마자 mstsc.exe 응용 프로그램 오류가 나타나는 이유는 무엇입니까?

컴퓨터를 켜자마자 mstsc.exe 응용 프로그램 오류가 나타나는 이유는 무엇입니까?

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

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

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

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

첫 번째 제안:

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

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

3. 버그가 있을 수 있으니 최신 공식 버전, 베타 버전, 체험판을 사용해 보세요.

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

다음은 분석을 위한 몇 가지 예입니다.

예 1: "08ba9ef" 명령이 참조하는 "0x03713644" 메모리가 IE 브라우저에 나타나거나 "0x70dcf39f" 명령이 참조하는 "0x00000000" 메모리가 나타납니다. 이 메모리는 "읽을" 수 없습니다. 프로그램을 종료하려면 "확인" 메시지 상자를 클릭하세요. "확인"을 클릭하면 프롬프트 메시지를 닫은 후 "내부 오류가 발생하여 사용 중인 창 중 하나가 곧 닫히려고 합니다"라는 메시지 상자가 나타납니다. 브라우저 장치도 꺼져 있습니다. 해결책:

시작-실행 창에서 "regsvr32 actxprxy.dll"을 입력하고 Enter를 누르십시오. 그러면 "actxprxy.dll의 DllRegisterServer 성공" 메시지 대화 상자가 나타납니다. 그런 다음 다음 명령을 순서대로 실행합니다. (어떤 사람들은 이 방법이 불필요하다고 말하지만 해당 .dll을 다시 등록해도 시스템에는 아무런 해가 되지 않습니다. 어쨌든 여러 조치를 취하여 문제를 해결하면 충분합니다.):Cregsvr32 oleaut32.dll

regsvr32 actxprxy.dll

regsvr32 mshtml.dll

msjava.dll

regsvr32 browserui.dll

IE 복구 또는 업그레이드 브라우저를 찾아 시스템 패치를 적용합니다. 제가 본 수리 방법 중 하나는 시스템을 초기 상태로 복원하는 것입니다. IE를 6.0으로 업그레이드하는 것이 좋습니다.

예 2: 일부 애플리케이션 오류: "0x7cd64998" 명령이 "0x14c96730" 메모리를 참조합니다. 이 메모리는 "읽을" 수 없습니다. 해결 방법: Win "Memory Image"의 최적화 기술을 사용하고 이 정보를 Windows\Prefetch 폴더에 저장합니다. 이미지가 생성되면 응용 프로그램 소프트웨어가 훨씬 빠르게 로드됩니다. XP의 프리페치 데이터는 최근 8번의 시스템 시작 또는 응용 프로그램 소프트웨어 시작 정보를 저장합니다. 가상 메모리를 교체하고, Windows\Prefetch 디렉터리에서 모든 *.PF 파일을 삭제하고, Windows가 프로그램의 실제 주소를 다시 수집하도록 하는 것이 좋습니다.

예 3: XP에서 CD에 있는 "AutoRun.exe" 파일을 두 번 클릭하면 "0x77f745cc" 명령이 참조하는 "0x00000078" 메모리가 표시됩니다. 메모리를 "쓰기"할 수 없습니다. 프로그램을 종료하려면 "확인"을 클릭하십시오. 그러나 Windows 98에서는 정상적으로 실행됩니다. 해결 방법: 이는 시스템 호환성 문제일 수 있습니다. winXP 시스템의 경우 "AutoRun.exe" 파일, 속성, 호환성을 마우스 오른쪽 버튼으로 클릭하고 "호환 모드에서 이 프로그램 실행" 항목을 선택한 다음 "Windows 98/Me"를 선택합니다.

win2000이 SP로 패치된 경우 시작하고 실행하고 regsvr32 c:\winnt\apppatch\slayerui.dll을 입력합니다. 마우스 오른쪽 버튼을 클릭하면 속성 및 호환성 옵션도 나타납니다.

예시 4: RealOne Gold를 닫을 때 오류가 발생합니다. 이전에는 정상적으로 사용되었지만 최근에는 닫을 때마다 "0xffffffff" 명령에서 참조하는 "0xffffffff" 메모리가 나타납니다. 메모리를 "읽을" 수 없습니다. 해결 방법: 이 문제는 사용된 입력 방식이 Microsoft Pinyin 입력 방식 2003이고 입력 도구 모음이 숨겨져 있는 경우(숨겨지지 않으면 문제 없음) RealOne을 닫을 때 발생합니다. 따라서 입력 도구를 표시하거나 다른 입력 방법을 사용할 수 있습니다. 이 문제를 해결하기 위해 RealOne을 닫기 전에 현재 입력 방법으로 표시됩니다.

예 5: 인터넷 이후 더 이상 My Hero Super Jieba를 재생할 수 없습니다. "0x060692f6"(각 변경)이 표시될 때마다 명령에서 참조하는 "0xff000011" 메모리를 "읽을" 수 없습니다. 종료되었습니다. 계속하려면 확인을 클릭하세요. 해결 방법: Hero Super Jieba를 다시 설치해 보세요. 다시 설치한 후에도 문제가 지속되면 공식 웹사이트로 이동하여 해당 버전의 패치를 다운로드하고 시도해 보세요. 그래도 작동하지 않으면 다른 플레이어를 사용해 보아야 합니다.

예 6: 게임 바로가기를 두 번 클릭합니다. "0x77f5cd0" 명령은 "0xffffffff" 메모리를 참조하며 메모리를 "읽을" 수 없으며 Client.dat 프로그램 오류가 표시됩니다. 해결 방법: 그래픽 카드용 최신 드라이버를 다시 설치한 다음 DirectX9.0을 다운로드하여 설치하십시오.

예 7: 친구가 메시지를 보냈는데 내 컴퓨터에 오류 메시지가 나타났습니다. "0x772b548f" 명령이 참조하는 "0x00303033" 메모리를 "쓰기"할 수 없으며 QQ가 자동으로 오프라인 상태가 되었습니다. 그리고 다시 QQ를 열어보니 그 사람이 보낸 메시지가 십여 개가 넘게 보였습니다. 해결책: 이것은 상대방이 QQ를 사용하여 특수 코드를 보내고 QQ 오류를 일으키는 BUG입니다. 패치를 적용하거나 최신 버전으로 업그레이드하면 문제가 없습니다.

上篇: 바람을 찾는 핸드폰은 정품인가요? 下篇: Dongfeng Nissan X-Trail에는 어떤 브레이크 패드가 사용됩니까?
관련 내용