Why can't the memory be written or read errors caused by Microsoft framework?

Source: Internet
Author: User
Tags prefetch

During this time, running vs often has the following errors:

0x0381fd60 memory referenced by the "0x0381fd60" command. The memory cannot be "written ".
 
After some "Baidu" and "google", we found that all of the above situations have been seen, and even online users have repeatedly reinstalled the system due to this frequent error prompt.

Reference a solution where the full memory cannot be written or read:

This memory cannot be a written or read solution (run someProgramSometimes there will be a memory error prompt, and then the program will be closed .)

"0x ????????" Command reference "0x ????????" Memory. The memory cannot be "read ".

"0x ????????" Command reference "0x ????????" Memory, the memory cannot be "written ".

I believe everyone should have seen the above situation, and even said that some netizens have repeatedly reinstalled the system because they are unhappy with this frequent error prompt. I believe that common users should not understand complicated hexadecimal systems.Code.

This problem occurs in a variety of ways: hardware, memory, and software.

I. Talk about hardware first

Generally, computer hardware is very bad. The possibility of memory problems is not high (unless your memory is really a mess), the main aspects are:
1 memory stick is broken (mostly used memory)
2. Memory with Quality Problems
3. There is too much dust in the golden finger part of the memory inserted on the motherboard.
4. Use different brands of memory with different capacities, resulting in incompatibility
5. Heat Dissipation problems caused by overclocking. You can use the memtest software to check the memory, which can thoroughly detect the memory stability.

2. If none of them exist, the software should be able to resolve the fault.

Principle 1: the memory has a buffer where data is stored. When the program puts the data in the buffer zone, the "function" provided by the operating system is required to apply. If the memory is allocated successfully, the function will return the newly opened memory zone address to the application, and the application can use this memory address. This is "dynamic memory allocation", and the memory address is also the "cursor" in programming ". The memory is not always used, and sometimes the memory allocation fails. When the allocation fails, the system function returns a value of 0. The returned value "0" does not indicate a new enabled cursor. Instead, the system sends a notification to the application notifying you of an error. As an application, check whether the returned value is 0 after each memory application. If yes, it means that a fault has occurred and some measures should be taken to save the problem, this enhances the robustness of the program ". If the application does not check this error, it determines that this value is the available cursor assigned to it according to "thinking inertia" and continues to use this memory in subsequent execution. The real 0-address memory zone stores the most important "Interrupt Descriptor Table" in computer systems and is definitely not allowed by applications. In an operating system without a protection mechanism (such as DoS), writing data to this address will immediately become a machine, while in a robust operating system, such as Windows, this operation will be immediately captured by the system's protection mechanism. The result is that the operating system forces the application that fails to be closed to prevent the error from expanding. At this time, the above memory cannot be "read" error will occur, and the referenced memory address is "0x00000000 ". There are many causes of memory allocation failure, such as insufficient memory and mismatched system function versions. Therefore, this allocation failure is often seen after the operating system has been in use for a long time, installed a variety of applications (including inadvertently "installed" virus programs ), after a large number of system parameters and system files are changed.

In applications that use dynamic allocation, sometimes the program tries to read and write a piece of memory that should be available, but somehow, the expected available cursor has expired. It may be that the system requires allocation "forgot", or that the program has logged out the memory at some time and "did not pay attention. The logged-out memory is reclaimed by the system and its access rights do not belong to this application. Therefore, read/write operations also trigger the system's protection mechanism, the only end of an "illegal" program is to be terminated and all resources are recycled. Laws in the computer world are much more effective and harsh than humans! Such cases all belong to the bugs of the program. You can often reproduce errors in a specific operation order. Invalid cursor may not always be 0, so the memory address in the error prompt is not set to "0x00000000", but other random numbers.

First, we recommend that you:

1. check whether there are Trojans or viruses in the system. Such programs tend to modify the system irresponsibly to control the system, resulting in operating system exceptions. In general, information security awareness should be strengthened, and the executable procedures with unknown sources should never be curious.

2. Update the operating system so that the operating system installer can copy the system file of the correct version and correct system parameters. Sometimes the operating system itself also has bugs. You must install the officially released upgrade program.

3. Try to use the latest official version of the application, beta, trial version will have bugs.

4. Delete and recreate the file in the WINNT \ system32 \ WBEM \ repository folder. Right-click my computer on the desktop and Click Manage. Under services and applications, click Services, and then close and stop the Windows Management Instrumentation Service. Delete all files in the WINNT \ system32 \ WBEM \ repository folder. (Create backup copies of these files before deletion .) Open services and applications, click Services, and start the Windows Management Instrumentation Service. When the service restarts, these files will be re-created based on the information provided in the following registry keys: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ WBEM \ cimom \ autorecover mofs

The following are several examples:

Example 1: The IE browser displays "0x03713644" memory referenced by the "0x0a8ba9ef" command, or the "0x70dcf39f" memory referenced by the "0x00000000" command. The memory cannot be "read ". To terminate the program, click "OK" and click "OK". An "internal error occurs, and one of the windows in use is about to close" is displayed, when this prompt is disabled, ie is also disabled. Solution:

1. In the start-Run window, enter "regsvr32 actxprxy. dll" and press Enter. A dialog box "dllregisterserver in actxprxy. dll succeeded" appears. OK. Run the following commands in sequence. (Some people say this method is unnecessary, but re-registering those. dll does not have any harm to the system. Anyway, you can solve the problem .)

Regsvr32 shdocvw. dll

Regsvr32 oleaut32.dll

Regsvr32 actxprxy. dll

Regsvr32 mshtml. dll

Regsvr32 msjava. dll

Regsvr32 browseui. dll

Regsvr32 urlmon. dll

2. Fix or upgrade IE and install system patches. One of the solutions is to restore the system to the initial state. We recommend that you upgrade Internet Explorer to 6.0.

Example 2: Some applications have errors: the "0x14c96730" memory referenced by the "0x7cd64998" command. The memory cannot be "read ". Solution: Win XP's "pre-read" technology, which is an optimization technology, is also used in applications. The system analyzes the previous startup conditions of each application, add a virtual "memory image" that describes the application requirements and store the information in the Windows \ prefetch folder. Once an image is created, the loading speed of the application software is greatly improved. XP pre-read data stores information about the last eight system or application startup times. We recommend that you remove the virtual memory and delete all *. pf files under the Windows \ prefetch directory so that Windows can re-collect the physical address of the program.

Example 3: The "0x00000078" memory referenced by the "0x77f745cc" command is displayed in the "autorun.exe" file in the Windows XP double-shot drive. The memory cannot be "written". To terminate the program, click "OK", but it runs normally in Windows 98. Solution: this can be a system compatibility question. For Windows XP systems, right-click the autorun.exe file, attributes, and compatibility. Select "run this program in compatible mode" and select "Windows 98/Me ". After installing the SP patch for Win2000, run the following command: regsvr32 c: \ winnt \ apppatch \ slayerui. dll. Right-click the attribute and the compatibility option will also appear.

Example 4: an error occurs when RealONE gold is disabled. It has been used normally before. Recently, the "0xffffffff" memory referenced by the "0xffffffff" command is displayed when RealONE gold is disabled. The prompt that the memory cannot be "read. Solution: this problem occurs when you disable RealONE when the input method is 2003 and the language bar is hidden (no problem occurs when it is not hidden, therefore, you can display the language bar or use any other input method as the current input method to solve this problem before you close RealONE.

Example 5: My Hao jieba cannot play the video since I got online. The memory referenced by the "0x060692f6" command cannot be "read ", to terminate the program, please confirm. Solution: Try to reinstall Haojie super to solve the problem. If the problem persists, download the patch from the official website. Not yet. You have to try another player.

Example 6: double-click the shortcut of a game. The "0x77f5cd0" command references the "0xffffffff" internal memory. The memory cannot be "read" and a client. dat program error is prompted. Solution: reinstall the latest driver of the video card, and then download and install directx9.0.

Example 7: when a friend sends a message, an error message is displayed on my computer: "0x772b548f" refers to the "0x00303033" memory, which cannot be "written ", then QQ automatically went offline, and then opened QQ, and found more than a dozen pieces of information he sent. Solution: This is the bug that the other party uses QQ. It sends special code and makes a QQ error. If it is patched or upgraded to the latest version, it will be okay.

I tried a variety of methods and finally found the problem lies in Microsoft's net. framework.
I upgraded the software and installed patches. after a short period of security, I encountered another situation where "the memory cannot be read. Later, I gotArticleInspired by Microsoft's net. framework1.0 and 1.1, it seems that the world is too peaceful..

Note: I saw a related method on Dudu today, which was specially referenced.

Fault description: open any program from the desktop or the Start menu and the error message is displayed: "0x ........ "0x00000000" memory referenced by the command. The memory cannot be "read ". The ellipsis represents a variable value. But it is okay to open the program from "running.
Solution: Run regedit to enter the Registry, under HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ shellexecutehooks, there should be only one normal key value "{AEB6717E-7E19-11d0-97EE-00C04FD91972 }, delete other values (do not delete the default key value ).

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.