현재 위치 - 중국 분류 정보 발표 플랫폼 - 생활 서비스 정보 - 전문가들이 도와드립니다

전문가들이 도와드립니다

메모리를 읽거나 쓸 수 없는 일반적인 이유

Windows 운영 체제를 사용하는 사람들은 때때로 "0X 명령에서 참조하는 메모리 0x00000000을 쓸 수 없습니다"라는 오류 메시지를 접합니다. , 그러면 응용 프로그램이 닫힙니다. 일부 '전문가'에게 조언을 구하면 "윈도우가 너무 불안정하다"는 분노와 경멸이 돌아오는 경우가 많다. 실제로 이 오류는 반드시 Windows 불안정으로 인해 발생하는 것은 아닙니다. 이 기사에서는 이 오류의 일반적인 원인을 간략하게 분석합니다.

1. 애플리케이션이 메모리 할당 실패를 확인하지 않았습니다

프로그램이 데이터를 저장하기 위해 메모리 조각이 필요한 경우 운영 체제에서 제공하는 "함수 함수"를 호출해야 합니다. 메모리 할당이 성공하면 함수는 새로 열린 메모리 영역의 주소를 응용 프로그램에 반환하고 응용 프로그램은 이 주소를 통해 이 메모리를 사용할 수 있습니다. 이것이 "동적 메모리 할당"이며, 프로그래밍에서 메모리 주소는 "포인터"이기도 합니다.

메모리는 항상 사용 가능하고 무한하지 않으며 때로는 메모리 할당이 실패할 수도 있습니다. 할당이 실패하면 시스템 함수는 0 값을 반환합니다. 이때 반환 값 "0"은 더 이상 새로 활성화된 포인터를 나타내지 않고 시스템에서 응용 프로그램에 오류가 있음을 알리는 알림을 나타냅니다. 발생했습니다. 응용 프로그램으로서 메모리를 적용할 때마다 반환 값이 0인지 확인해야 합니다. 그렇다면 오류가 발생했음을 의미하며 이를 저장하기 위해 몇 가지 조치를 취해야 합니다. 이렇게 하면 프로그램의 "견고함"이 향상됩니다.

애플리케이션이 이 오류를 확인하지 않으면 이 값이 "생각하는 관성"에 따라 할당된 사용 가능한 포인터라고 생각하고 후속 실행에서 이 메모리를 계속 사용하게 됩니다. 주소 0의 실제 메모리 영역은 컴퓨터 시스템에서 가장 중요한 "인터럽트 설명자 테이블"을 저장하며 응용프로그램에서는 이를 절대 사용할 수 없습니다. 보호 메커니즘이 없는 운영 체제(예: DOS)에서 이 주소에 데이터를 쓰면 즉시 충돌이 발생합니다. Windows와 같은 강력한 운영 체제에서는 이 작업이 시스템의 보호 메커니즘에 의해 즉시 캡처되며 그 결과는 다음과 같습니다. 운영 체제는 오류가 확산되는 것을 방지하기 위해 잘못된 응용 프로그램을 강제로 닫습니다. 이때, 위에서 언급한 "메모리 쓰기" 오류가 나타나며 참조된 메모리 주소가 "0x00000000"임을 지적합니다.

메모리 할당 실패에는 여러 가지 이유가 있습니다. 메모리 부족, 시스템 기능 버전 불일치 등이 영향을 미칠 수 있습니다. 따라서 이러한 종류의 할당 실패는 운영 체제를 오랫동안 사용한 후, 다양한 응용 프로그램(실수로 "설치"된 바이러스 프로그램 포함)을 설치한 후, 많은 수의 시스템 매개 변수 및 시스템 파일이 변경되었습니다.

2. 애플리케이션 자체 버그로 인해 비정상적인 메모리 포인터를 참조합니다.

동적 할당을 사용하는 애플리케이션에서는 때때로 다음과 같은 상황이 발생합니다. "사용 가능해야 함" 메모리 블록을 작성했지만 어떤 이유로 예상되는 사용 가능한 포인터가 만료되었습니다. 운영 체제에 할당을 요청하는 것을 "잊었"거나 프로그램 자체가 "주의를 기울이지" 않은 채 어느 시점에서 이 메모리를 로그오프했을 수도 있습니다. 등록되지 않은 메모리는 시스템에 의해 회수되며 해당 액세스 권한은 더 이상 응용 프로그램에 속하지 않습니다. 따라서 읽기 및 쓰기 작업도 "불법"을 시도하는 프로그램의 유일한 운명은 종료됩니다. 작업에 의해 모든 리소스가 회수됩니다. 컴퓨터 세계의 법률은 여전히 ​​인간의 법률보다 훨씬 더 효과적이고 엄격합니다! 이와 같은 상황은 모두 프로그램 자체의 버그이며 특정 작업 순서에서 오류를 재현할 수 있는 경우가 많습니다. 유효하지 않은 포인터는 항상 0이 아니므로 오류 메시지의 메모리 주소는 반드시 "0x00000000"이 아니라 다른 임의의 숫자입니다.

시스템에 오류 메시지가 자주 표시되는 경우 다음 제안 사항이 도움이 될 수 있습니다.

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

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

3. 새로운 버전의 애플리케이션을 사용해 보세요.

일부 프로그램 실행 시 가끔 메모리 오류 메시지가 나타났다가 프로그램이 종료되는 경우가 있습니다.

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

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

비슷한 실패를 경험한 적이 있나요? (0x 이후의 내용은 다를 수 있습니다.)

일반적으로 이러한 현상은 여러 가지 이유로 발생합니다. 하나는 하드웨어, 즉 메모리 문제이고, 다른 하나는 문제가 많은 소프트웨어입니다.

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

일반적으로 메모리 문제의 가능성은 높지 않습니다. 주요 측면은 메모리 모듈이 손상되고 메모리 품질에 문제가 있습니다. 그리고 용량이 다른 두 브랜드의 메모리를 혼합하더라도 호환되지 않기 쉽습니다. 동시에, 특히 오버클럭 후에는 열 방출 문제에 주의해야 합니다. MemTest 소프트웨어를 사용하여 메모리를 테스트하면 메모리의 안정성을 철저하게 감지할 수 있습니다.

듀얼 메모리와 다른 브랜드의 메모리 모듈이 혼합되어 있거나 메모리를 중고로 구입했는데 이런 문제가 발생하는 경우 메모리나 다른 하드웨어에 문제가 있는지 확인해야 합니다. . 그렇지 않은 경우 소프트웨어 문제를 해결하십시오.

먼저 원리를 간단히 말씀드리자면, 메모리에는 버퍼라는 데이터를 저장하는 공간이 있는데, 프로그램이 그 위치 중 하나에 데이터를 넣으면 공간이 부족해 오버플로가 발생하게 됩니다. 예를 들어, 양동이에는 1kg의 물만 담을 수 있습니다. 2kg의 물을 넣으면 넘치게 됩니다. 시스템이 화면에 표시됩니다. 이 문제는 Windows 2000 및 위의 상황에서 자주 발생합니다. 또한 하드웨어 장치 간의 호환성이 좋지 않아 발생할 수도 있습니다.

몇 가지 예를 통해 분석해 보겠습니다.

예 1: IE 브라우저를 열거나 몇 분 내에 "0x70dcf39f" 명령에서 참조하는 "0x00000000" 메모리가 나타납니다. . 이 메모리는 "읽을" 수 없습니다. 프로그램을 종료하려면 "확인" 메시지 상자를 클릭하세요. "확인"을 클릭하면 프롬프트 메시지를 닫은 후 "내부 오류가 발생하여 사용 중인 창 중 하나가 곧 닫히려고 합니다"라는 메시지 상자가 나타납니다. 브라우저 장치도 꺼져 있습니다. 해결책: IE 브라우저를 복구하거나 업그레이드하고 패치를 적용하십시오. 제가 본 복구 방법 중 하나는 Win2000 자체 업그레이드, 즉 Win2000에서 Win2000으로 업그레이드하는 것입니다. 실제로 이 방법은 시스템을 초기 상태로 복원하는 것입니다. 예를 들어 IE가 6.0으로 업그레이드되면 업그레이드 후 IE5.0으로 대체됩니다.

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

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

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

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

예 6: 친구가 메시지를 보냈는데 내 컴퓨터에 오류 메시지가 나타났습니다. "0*772b548f" 명령이 참조하는 "0*00303033" 메모리는 "쓸 수" 없으며 QQ 자동으로 로그아웃된 뒤 QQ를 열어보니 그 사람이 보낸 메시지가 십여 개가 넘게 발견됐다. 해결책: 이것은 상대방이 QQ를 사용하여 특수 코드를 보내고 QQ 오류를 일으키는 BUG입니다. 패치를 적용하거나 최신 버전으로 업그레이드하면 문제가 없습니다.

위의 예를 통해 실패 이유가 다양하다는 것을 알 수 있으며, 언급된 이유와 가능한 이유를 쉽게 참고할 수 있습니다.

해결방법

1. 메모리 모듈이 파손된 경우 교체하십시오.

2. 듀얼 메모리가 호환되지 않는 경우 동일한 브랜드의 메모리를 사용하거나 전용 메모리를 사용하십시오. 메모리 1개 사용

p>

3. 메모리 품질 문제는 메모리 모듈 교체

4. 방열 문제는 섀시 내부 방열 강화

>

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

6. , 하드디스크를 교체하세요

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

8. 소프트웨어가 손상된 경우 소프트웨어를 다시 설치합니다.

9. 소프트웨어에 버그가 있는 경우 패치합니다. 또는 최신 버전을 사용하세요.

10. 소프트웨어가 시스템과 호환되지 않는 경우 소프트웨어를 패치하거나 시스템의 호환 모드를 사용해 보세요.

11. 소프트웨어, 최근에 새로 설치한 소프트웨어가 있으면 제거해 보세요.

12. 해당 소프트웨어는 다른 관련 소프트웨어를 사용해야 하며, 문제가 있는 경우 관련 소프트웨어를 다시 설치하세요. 예를 들어 특정 형식의 파일을 재생할 때 오류가 발생하면 해당 파일의 디코더에 문제가 있을 수 있습니다

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

14. 백신 소프트웨어가 시스템이나 소프트웨어와 충돌합니다. 기본 모니터링 시스템에 진입합니다. 일부 소프트웨어를 제거해 보세요.

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

윈도우를 사용하다 보면 블루스크린이 나타나는 경우가 흔하며, 오류의 원인이 명확하지 않아 시스템을 재설치하는 경우가 많아 시간도 많이 걸리고 손이 많이 갑니다. 다음은 참조용으로 몇 가지 Windows 충돌 암호를 수집했습니다.

값 설명

0 0x0000 작업이 완료되었습니다.

1 0x0001 잘못된 기능입니다.

2 0x0002 시스템이 지정된 파일을 찾을 수 없습니다.

3 0x0003 시스템이 지정된 경로를 찾을 수 없습니다.

4 0x0004 시스템에서 파일을 열 수 없습니다.

5 0x0005 액세스가 거부되었습니다.

6 0x0006 잘못된 코드입니다.

7 0x0007 저장 제어 블록이 파괴되었습니다.

8 0x0008 이 명령을 처리하기에는 저장 공간이 부족합니다.

9 0x0009 저장 제어 블록 주소가 잘못되었습니다.

10 0x000a 환경이 잘못되었습니다.

11 0x000b 잘못된 프로그램을 로드하려고 했습니다.

12 0x000c 액세스 코드 오류입니다.

13 0x000d 데이터 오류입니다.

14 0x000e 이 작업을 완료하기에는 저장 공간이 부족합니다.

15 0x000f 시스템이 지정된 디스크 드라이브를 찾을 수 없습니다.

16 0x0010 디렉터리를 제거할 수 없습니다.

17 0x0011 시스템에서 파일을 다른 드라이브로 이동할 수 없습니다.

18 0x0012 파일이 없습니다.

19 0x0013 저장 매체가 쓰기 금지되어 있습니다.

20 0x0014 시스템이 지정된 장치를 찾을 수 없습니다.

21 0x0015 기기가 아직 준비되지 않았습니다.

22 0x0016 장치가 명령을 인식할 수 없습니다.

23 0x0017 데이터 오류(순환 중복 검사)

24 0x0018 프로그램이 잘못된 길이의 명령을 실행했습니다.

25 0x0019 디스크 드라이브가 디스크의 고정 섹터나 트랙을 찾을 수 없습니다.

26 0x001a 지정한 디스크 또는 디스크에 접근할 수 없습니다.

27 0x001b 디스크 드라이브가 필요한 섹터를 찾을 수 없습니다.

28 0x001c 프린터에 용지가 부족합니다.

29 0x001d 시스템이 지정된 디스크 드라이브에 데이터를 쓸 수 없습니다.

30 0x001e 시스템이 지정된 장치를 읽을 수 없습니다.

31 0x001f 시스템에 연결된 장치가 작동하지 않습니다.

32 0x0020 다른 프로세스에서 파일을 사용하고 있기 때문에 프로세스에서 파일에 액세스할 수 없습니다.

33 0x0021 파일의 일부가 잠겨 있어 지금은 액세스할 수 없습니다.

34 0x0022 디스크 드라이브 디스크가 올바르지 않습니다. 드라이브 1에 2(볼륨 일련 번호: 3)를 삽입하십시오.

36 0x0024 열려 있는 공유 파일이 너무 많습니다.

38 0x0026 파일 끝에 도달했습니다.

39 0x0027 디스크가 꽉 찼습니다.

50 0x0032 이 네트워크 요구 사항은 지원되지 않습니다.

51 0x0033 원격 컴퓨터를 사용할 수 없습니다.

52 0x0034 네트워크 이름이 중복되었습니다.

53 0x0035 네트워크 경로를 찾을 수 없습니다.

54 0x0036 네트워크 사용량이 많습니다.

55 0x0037 지정된 네트워크 리소스 또는 장치를 더 이상 사용할 수 없습니다.

56 0x0038 네트워크 BIOS 명령 제한에 도달했습니다.

57 0x0039 네트워크 구성이 있습니다. 카드를 받는 데 문제가 있었습니다.

58 0x003a 지정된 서버가 요청한 작업을 수행할 수 없습니다.

59 0x003b 예상치 못한 네트워크 오류가 발생했습니다.

60 0x003c 원격 어댑터 카드가 호환되지 않습니다.

61 0x003d 프린터 대기열이 꽉 찼습니다.

62 0x003e 인쇄 대기 중인 파일을 저장할 공간이 서버에 부족합니다.

63 0x003f 인쇄 대기 중인 파일이 삭제되었습니다.

64 0x0040 지정한 네트워크 이름을 사용할 수 없습니다.

65 0x0041 네트워크 액세스가 거부되었습니다.

66 0x0042 네트워크 리소스 유형이 잘못되었습니다.

67 0x0043 네트워크 이름을 찾을 수 없습니다.

68 0x0044 지역 컴퓨터 네트워크 어댑터 카드의 이름 제한을 초과했습니다.

69 0x0045 네트워크 BIOS 세션 제한을 초과했습니다.

70 0x0046 원격 서버가 일시 중지되었거나 시작 중입니다.

71 0x0047 연결 수가 상한에 도달했기 때문에 지금은 이 원격 컴퓨터에 더 이상 연결할 수 없습니다.

72 0x0048 지정된 프린터 또는 디스크 장치가 일시 중지되었습니다.

80 0x0050 파일이 이미 존재합니다.

82 0x0052 디렉터리나 파일을 생성할 수 없습니다.

83 0x0053 int 24 failed

84 0x0054 이 요청을 처리하기 위한 저장소를 사용할 수 없습니다.

85 0x0055 로컬 장치 이름이 이미 사용 중입니다.

86 0x0056 지정한 네트워크 비밀번호가 올바르지 않습니다.

87 0x0057 매개변수 오류입니다.

88 0x0058 네트워크에서 데이터 쓰기 오류가 발생했습니다.

89 0x0059 현재 시스템은 다른 트립을 실행할 수 없습니다.

100 0x0064 다른 시스템 세마포어를 설정할 수 없습니다.

101 0x0065는 다른 여행 전용 세마포어에 속합니다.

102 0x0066 세마포어가 설정되었으므로 닫을 수 없습니다.

103 0x0067 세마포어를 지정할 수 없습니다.

104 0x0068 브레이크 타임에는 전용 세마포어를 요청할 수 없습니다.

105 0x0069 이 세마포어의 이전 소유권이 종료되었습니다.

106 0x006a 1에 디스크를 넣어주세요.

107 0x006b 대체 디스크가 삽입되지 않아 프로그램이 중지되었습니다.

108 0x006c 디스크가 사용 중이거나 잠겨 있습니다.

109 0x006d 파이프가 중단되었습니다.

110 0x006e 시스템이 지정된 장치나 파일을 열 수 없습니다.

111 0x006f 파일 이름이 너무 깁니다.

112 0x0070 디스크 공간이 부족합니다.

113 0x0071 사용 가능한 내부 파일 식별자가 없습니다.

114 0x0072 대상 내부 파일 식별자가 올바르지 않습니다.

117 0x0075 응용 프로그램에서 수행한 ioctl 호출이 올바르지 않습니다.

118 0x0076 쓰기 확인 매개변수 값이 올바르지 않습니다.

119 0x0077 시스템이 요청한 명령을 지원하지 않습니다.

120 0x0078 이 함수는 win32 모드에서만 유효합니다.

121 0x0079 세마포어 시간 초과 기간이 초과되었습니다.

122 0x007a 시스템 호출에 전달된 데이터 영역이 너무 작습니다.

123 0x007b 파일 이름, 디렉터리 이름 또는 저장소 레이블에 구문 오류가 있습니다.

124 0x007c 시스템 호출 수준이 올바르지 않습니다.

125 0x007d 디스크에 레이블 세트가 없습니다.

126 0x007e 지정한 모듈을 찾을 수 없습니다.

127 0x007f 지정한 프로그램을 찾을 수 없습니다.

128 0x0080 기다릴 하위 여행이 없습니다.

129 0x0081 1 이 응용 프로그램은 win32 모드에서 실행할 수 없습니다.

130 0x0082 원시 디스크 I/O 이외의 작업을 위해 열린 디스크 파티션에 대한 파일 핸들을 사용하려고 시도했습니다.

131 0x0083 사용을 시도했습니다. 파일 표시기는 아카이브가 시작되기 전에 이동합니다.

132 0x0084 지정된 장치나 파일에 파일 인덱스를 설정할 수 없습니다.

133 0x0085 이전에 결합된 드라이브에는 Join 또는 subst 명령을 사용할 수 없습니다.

134 0x0086 결합된 디스크 드라이브에 Join 또는 Subst 명령을 사용해 보세요.

135 0x0087 교체된 디스크 드라이브에 Join 또는 Subst 명령을 사용해 보십시오.

136 0x0088 시스템이 연결되지 않은 디스크의 연결 관계를 삭제하려고 시도합니다.

137 0x0089 시스템은 교체되지 않은 디스크 드라이브의 교체 관계를 삭제하려고 시도합니다.

138 0x008a 시스템은 이미 결합된 드라이브의 디렉터리에 디스크 드라이브를 결합하려고 시도합니다.

139 0x008b 시스템은 교체된 디스크 드라이브의 디렉터리로 디스크 드라이브를 교체하려고 시도합니다.

140 0x008c 시스템은 교체된 디스크 드라이브의 디렉터리로 디스크 드라이브를 교체하려고 시도합니다.

141 0x008d 시스템은 드라이브를 결합된 드라이브 디렉터리로 대체하려고 시도합니다.

142 0x008e 현재 시스템은 Join 또는 Subst를 실행할 수 없습니다.

143 0x008f 시스템은 디스크 드라이브를 결합하거나 동일한 디스크 드라이브 아래의 디렉터리를 교체할 수 없습니다.

144 0x0090 이 디렉터리는 루트 디렉터리의 하위 디렉터리가 아닙니다.

145 0x0091 디렉터리에 아직 데이터가 있습니다.

146 0x0092 지정된 경로가 대체되었습니다.

147 0x0093 이 명령을 처리하는 데 리소스가 부족합니다.

148 0x0094 현재는 지정된 경로를 사용할 수 없습니다.

149 0x0095 결합 또는 교체하려는 디스크 드라이브 디렉터리가 이미 교체된 대상입니다.

150 0x0096 config.sys 파일에 시스템 추적 정보가 지정되어 있지 않거나 추적 기능이 취소되었습니다.

151 0x0097 지정된 세마포어 이벤트 dosmuxsemwait의 수가 올바르지 않습니다.

152 0x0098 dosmuxsemwait가 실행되지 않았습니다. 세마포어가 너무 많이 설정되었습니다.

153 0x0099 dosmuxsemwait 목록이 잘못되었습니다.

154 0x009a 입력한 저장 매체 식별자에는 길이 제한이 있습니다.

155 0x009b 다른 실행 스레드를 생성할 수 없습니다.

156 0x009c 수신 트립이 신호 수락을 거부했습니다.

157 0x009d 섹션이 삭제되어 잠글 수 없습니다.

158 0x009e 섹션이 잠금 해제되었습니다.

159 0x009f 스레드 식별자의 주소가 올바르지 않습니다.

160 0x00a0 dosexecpgm에 전달된 인수 문자열이 올바르지 않습니다.

161 0x00a1 지정한 경로가 올바르지 않습니다.

162 0x00a2 신호가 처리를 기다리고 있습니다.

164 0x00a4 시스템이 실행 스레드를 생성할 수 없습니다.

167 0x00a7 파일의 일부를 잠글 수 없습니다.

170 0x00aa 요청한 리소스가 사용 중입니다.

173 0x00ad 범위 취소를 위한 잠금 요구 사항이 명확하지 않습니다.

174 0x00ae 파일 시스템은 잠금 유형 자동 변경을 지원하지 않습니다.

180 0x00b4 시스템이 잘못된 섹션 번호를 발견했습니다.

182 0x00b6 운영 체제가 1을 실행할 수 없습니다.

183 0x00b7 파일이 이미 존재하므로 동일한 파일을 생성할 수 없습니다.

186 0x00ba 전송된 플래그가 올바르지 않습니다.

187 0x00bb 지정된 시스템 플래그를 찾을 수 없습니다.

188 0x00bc 운영 체제는 1을 실행할 수 없습니다.

189 0x00bd 운영 체제가 1을 실행할 수 없습니다.

190 0x00be 운영 체제가 실행할 수 없습니다 1.

191 0x00bf win32 모드에서는 1을 실행할 수 없습니다.

192 0x00c0 운영 체제가 1을 실행할 수 없습니다.

193 0x00c1 1은 올바른 win32 응용 프로그램이 아닙니다.

194 0x00c2 운영 체제가 1을 실행할 수 없습니다.

195 0x00c3 운영 체제가 1을 실행할 수 없습니다.

196 0x00c4 운영 체제에서 이 응용 프로그램을 실행할 수 없습니다.

197 0x00c5 운영 체제가 현재 이 응용 프로그램을 실행할 수 없습니다.

198 0x00c6 운영 체제가 1을 실행할 수 없습니다.

199 0x00c7 운영 체제에서 이 응용 프로그램을 실행할 수 없습니다.

200 0x00c8 코드 섹션은 64kb보다 크거나 같을 수 없습니다.

201 0x00c9 운영 체제가 1을 실행할 수 없습니다.

202 0x00ca 운영 체제에서 실행할 수 없습니다 1.

203 0x00cb 시스템이 입력된 환경 옵션을 찾을 수 없습니다. \r

205 0x00cd 명령 하위 디렉터리에는 프로세스에 대한 신호 하위 프로세서가 없습니다.

206 0x00ce 파일 이름이나 파일 확장자가 너무 깁니다.

207 0x00cf 링 2 스택이 사용 중입니다.

답변: 코기토 그러므로 묻습니다 - 고위관리자 6급 12-9 01:24

수정된 답변: 코기토 그러므로 묻습니다. 수정하고 싶은 답변은 다음과 같습니다. : 포인트 규칙이 닫힙니다.

메모리를 읽거나 쓸 수 없는 일반적인 이유

Windows 운영 체제를 사용하는 사람들은 때때로 다음과 같은 오류 메시지를 접합니다: "0X에서 참조하는 메모리 0x00000000 명령을 쓸 수 없습니다." 그러면 응용 프로그램이 닫힙니다. 일부 '전문가'에게 조언을 구하면 "윈도우가 너무 불안정하다"는 분노와 경멸이 돌아오는 경우가 많다. 실제로 이 오류는 반드시 Windows 불안정으로 인해 발생하는 것은 아닙니다. 이 기사에서는 이 오류의 일반적인 원인을 간략하게 분석합니다.

1. 애플리케이션이 메모리 할당 실패를 확인하지 않았습니다

프로그램이 데이터를 저장하기 위해 메모리 조각이 필요한 경우 운영 체제에서 제공하는 "함수 함수"를 호출해야 합니다. 메모리 할당이 성공하면 함수는 새로 열린 메모리 영역의 주소를 응용 프로그램에 반환하고 응용 프로그램은 이 주소를 통해 이 메모리를 사용할 수 있습니다. 이것이 "동적 메모리 할당"이며, 프로그래밍에서 메모리 주소는 "포인터"이기도 합니다.

메모리는 항상 사용 가능하고 무한하지 않으며 때로는 메모리 할당이 실패할 수도 있습니다. 할당이 실패하면 시스템 함수는 0 값을 반환합니다. 이때 반환 값 "0"은 더 이상 새로 활성화된 포인터를 나타내지 않고 시스템에서 응용 프로그램에 오류가 있음을 알리는 알림을 나타냅니다. 발생했습니다. 응용 프로그램으로서 메모리를 적용할 때마다 반환 값이 0인지 확인해야 합니다. 그렇다면 오류가 발생했음을 의미하며 이를 저장하기 위해 몇 가지 조치를 취해야 합니다. 이렇게 하면 프로그램의 "견고함"이 향상됩니다.

애플리케이션이 이 오류를 확인하지 않으면 이 값이 "생각하는 관성"에 따라 할당된 사용 가능한 포인터라고 생각하고 후속 실행에서 이 메모리를 계속 사용하게 됩니다. 주소 0의 실제 메모리 영역은 컴퓨터 시스템에서 가장 중요한 "인터럽트 설명자 테이블"을 저장하며 응용프로그램에서는 이를 절대 사용할 수 없습니다. 보호 메커니즘이 없는 운영 체제(예: DOS)에서 이 주소에 데이터를 쓰면 즉시 충돌이 발생합니다. Windows와 같은 강력한 운영 체제에서는 이 작업이 시스템의 보호 메커니즘에 의해 즉시 캡처되며 그 결과는 다음과 같습니다. 운영 체제는 오류가 확산되는 것을 방지하기 위해 잘못된 응용 프로그램을 강제로 닫습니다. 이때, 위에서 언급한 "메모리 쓰기" 오류가 나타나며 참조된 메모리 주소가 "0x00000000"임을 지적합니다.

메모리 할당 실패에는 여러 가지 이유가 있습니다. 메모리 부족, 시스템 기능 버전 불일치 등이 영향을 미칠 수 있습니다. 따라서 이러한 종류의 할당 실패는 운영 체제를 오랫동안 사용한 후, 다양한 응용 프로그램(실수로 "설치"된 바이러스 프로그램 포함)을 설치한 후, 많은 수의 시스템 매개 변수 및 시스템 파일이 변경되었습니다.

2. 애플리케이션 자체 버그로 인해 비정상적인 메모리 포인터를 참조합니다.

동적 할당을 사용하는 애플리케이션에서는 때때로 다음과 같은 상황이 발생합니다. "사용 가능해야 함" 메모리 블록을 작성했지만 어떤 이유로 예상되는 사용 가능한 포인터가 만료되었습니다. 운영 체제에 할당을 요청하는 것을 "잊었"거나 프로그램 자체가 "주의를 기울이지" 않은 채 어느 시점에서 이 메모리를 로그오프했을 수도 있습니다. 등록되지 않은 메모리는 시스템에 의해 회수되며 해당 액세스 권한은 더 이상 응용 프로그램에 속하지 않습니다. 따라서 읽기 및 쓰기 작업도 "불법"을 시도하는 프로그램의 유일한 운명은 종료됩니다. 작업에 의해 모든 리소스가 회수됩니다. 컴퓨터 세계의 법률은 여전히 ​​인간의 법률보다 훨씬 더 효과적이고 엄격합니다! 이와 같은 상황은 모두 프로그램 자체의 버그이며 특정 작업 순서에서 오류를 재현할 수 있는 경우가 많습니다. 유효하지 않은 포인터는 항상 0이 아니므로 오류 메시지의 메모리 주소는 반드시 "0x00000000"이 아니라 다른 임의의 숫자입니다.

시스템에 오류 메시지가 자주 표시되는 경우 다음 제안 사항이 도움이 될 수 있습니다.

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

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

3. 새로운 버전의 애플리케이션을 사용해 보세요.

일부 프로그램 실행 시 가끔 메모리 오류 메시지가 나타났다가 프로그램이 종료되는 경우가 있습니다.

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

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

비슷한 실패를 경험한 적이 있나요? (0x 이후의 내용은 다를 수 있습니다.)

일반적으로 이러한 현상은 여러 가지 이유로 발생합니다. 하나는 하드웨어, 즉 메모리 문제이고, 다른 하나는 문제가 많은 소프트웨어입니다.

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

일반적으로 메모리 문제의 가능성은 높지 않습니다. 주요 측면은 메모리 모듈이 손상되고 메모리 품질에 문제가 있습니다. 그리고 용량이 다른 두 브랜드의 메모리를 혼합하더라도 호환되지 않기 쉽습니다. 동시에, 특히 오버클럭 후에는 열 방출 문제에 주의해야 합니다. MemTest 소프트웨어를 사용하여 메모리를 테스트하면 메모리의 안정성을 철저하게 감지할 수 있습니다.

듀얼 메모리와 다른 브랜드의 메모리 모듈이 혼합되어 있거나 메모리를 중고로 구입했는데 이런 문제가 발생하는 경우 메모리나 다른 하드웨어에 문제가 있는지 확인해야 합니다. . 그렇지 않은 경우 소프트웨어 문제를 해결하십시오.

먼저 원리를 간단히 말씀드리자면, 메모리에는 버퍼라는 데이터를 저장하는 공간이 있는데, 프로그램이 그 위치 중 하나에 데이터를 넣으면 공간이 부족해 오버플로가 발생하게 됩니다. 예를 들어, 양동이에는 1kg의 물만 담을 수 있습니다. 2kg의 물을 넣으면 넘치게 됩니다. 시스템이 화면에 표시됩니다. 이 문제는 Windows 2000 및 위의 상황에서 자주 발생합니다. 또한 하드웨어 장치 간의 호환성이 좋지 않아 발생할 수도 있습니다.

아래의 여러 예를 통해 분석하겠습니다.

예 1: IE 브라우저를 열거나 몇 분 내에 "0x70dcf39f" 명령에서 참조하는 "0x00000000" 메모리가 나타납니다. . 이 메모리는 "읽을" 수 없습니다. 프로그램을 종료하려면 "확인" 메시지 상자를 클릭하세요. "확인"을 클릭하면 프롬프트 메시지를 닫은 후 "내부 오류가 발생하여 사용 중인 창 중 하나가 곧 닫히려고 합니다"라는 메시지 상자가 나타납니다. 브라우저 장치도 꺼져 있습니다. 해결책: IE 브라우저를 복구하거나 업그레이드하고 패치를 적용하십시오. 제가 본 복구 방법 중 하나는 Win2000 자체 업그레이드, 즉 Win2000에서 Win2000으로 업그레이드하는 것입니다. 실제로 이 방법은 시스템을 초기 상태로 복원하는 것입니다. 예를 들어 IE가 6.0으로 업그레이드되면 업그레이드 후 IE5.0으로 대체됩니다.

예 2: Windows XP에서 CD에 있는 "AutoRun.exe" 파일을 두 번 클릭하면 "0x77f745cc" 명령이 참조하는 "0x00000078" 메모리가 표시됩니다. 메모리를 "쓰기"할 수 없습니다. 프로그램을 종료하려면 "확인"을 클릭하십시오. 그러나 Windows 98에서는 정상적으로 실행됩니다.

해결 방법: 이는 시스템 호환성 문제일 수 있습니다. winXP 시스템의 경우 "AutoRun.exe" 파일, 속성, 호환성을 마우스 오른쪽 버튼으로 클릭하고 "호환 모드에서 이 프로그램 실행" 항목을 선택한 다음 "Windows 98/Me"를 선택합니다. win2000이 SP로 패치된 경우 시작하고 실행하고 regsvr32 c:\\winnt\\apppatch\\slayerui.dll을 입력합니다. 마우스 오른쪽 버튼을 클릭하면 속성 및 호환성 옵션도 나타납니다.

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

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

예 5: 게임 바로가기를 두 번 클릭하고, "Ox77f5cdO" 명령이 "Oxffffffff" 메모리를 참조하고, 메모리를 "읽을" 수 없으며, Client.dat 프로그램 오류?/tdgt 메시지가 표시됩니다.