If to ask some "master", get the answer is often "windows is such instability" such indignation and disdain. " In fact, this error is not necessarily caused by Windows instability. This article is a simple analysis of the general causes of such errors.
One, the application does not check for memory allocation failure
When a program needs a piece of memory to store the data, it needs to use the "function function" provided by the operating system to request that if the memory allocation succeeds, the function will return the newly opened memory address to the application, and the application can use this memory at this address. This is "Dynamic memory allocation", the memory address is the "cursor" in programming. Memory is not always a means to come, use the endless, and sometimes memory allocation will fail. When the allocation fails, the system function returns a value of 0, when the return value, "0", does not represent a newly-enabled cursor, but rather a notification from the system to the application that an error has occurred. As an application, you should check that the return value is 0 after each request for memory, and if so, it means that there is a failure, and some measures should be taken to save it, which enhances the "robustness" of the program. If the application does not check for this error, it will follow the "thinking inertia" that the value is the available cursor allocated to it and continue to use the memory in subsequent executions.
The true 0 Address memory area stores the most important "interrupt descriptor" in a computer system, and is never allowed to be used by an application. In the absence of a protection system (such as DOS), writing data to this address will cause immediate use of the machine, and in a robust operating system, such as windows, this operation will immediately be captured by the system's protection mechanism, the result is the operating system forcibly shut down the error application to prevent its error expansion. At this point, the "Write Memory" error appears, and the referenced memory address is "0x00000000". There are many reasons for memory allocation failure failures, such as insufficient memory, mismatched version of system functions, and so on. Therefore, this allocation failure is common in the operating system for a long time after the installation of a variety of applications (including unintentionally "installed" virus program), changed a large number of system parameters and system files.
Second, the application due to its own bug refers to the abnormal memory cursor
In applications that use dynamic allocation, there are times when the program tries to read and write a "should be available" memory, but somehow the expected cursor is invalid. It may be "forgotten" to the operating system requirements assigned, or the program itself at some time has been written off the memory and "no attention" and so on. The logged out memory is reclaimed by the system, and its access rights are no longer part of the application, so the read-write operation will also trigger the system's protection mechanism, and the only thing that attempts an "illegal" program is to terminate the execution of the operation and reclaim all resources. The law of the computer world is still much more effective and more severe than the human race! Situations like this are bugs in the program itself, and you can often reproduce the error in a particular sequence of operations. The invalid cursor is not always 0, so the memory address in the error message is not necessarily "0x00000000", but other random numbers. If the system frequently mentions error hints, the following suggestions may be described:
1. Check the system for trojans or viruses. Such programs often do not responsibly modify the system in order to control the system, resulting in operating system anomalies. It is common to strengthen awareness of information security and not to be curious about executable procedures that are unknown to the source.
2. Update the operating system so that the operating system's installer re-copies the correct version of the system file and corrects the system parameters.
Sometimes the operating system itself will have bugs, pay attention to install the official release of the upgrade program.
3. Try the new version of the application.
Mode:
To replace virtual memory
Answer:
So far, yes, if it doesn't happen again on the next cold day, it's the main reason.
Additional:
If you restore the OS with Ghost, it is recommended to remove all * from the Windowsprefetch directory. PF file because the physical address of the program needs to be re-collected by Windows.
Some applications incorrectly refer to "0x14c96730" Memory for the "0x7cd64998" directive. The memory cannot be a "read" inference for this reason.
SOURCE by:
"Pre-read" Technology for Win XP
This optimization technique is also used in the application software, the system analyzes the first several launches of each application, and then adds a virtual "memory image" that describes the requirements and stores the information in the Windowsprefetch folder. Once the image is established, the application software is loaded at a much faster rate. The pre-read data for XP stores the last 8 system boot or application startup information.
Post-classification:
At present, this method is also unrivaled network (its code itself for this problem for a long time), is also a common problem, the original almost every day before bedtime to close the software when some programs will occur ... read ...
It's not happening now.
When running some programs, sometimes a memory error is prompted (the content may be different after 0x), and then the program shuts down.
"0x????????" "0x????????" referenced by the directive Memory. The memory cannot be "read".
"0x????????" "0x????????" referenced by the directive Memory, this memory cannot be "written".
I wonder if you have any trouble like this?
In general, there are aspects of this phenomenon, one is the hardware, that is, memory problems, the second is the software, which has many aspects of the problem.
Let's talk about the hardware:
In general, the possibility of memory problems is not big, the main aspect is: Memory is bad, memory quality problems, there are 2 different brands of different capacity of memory mixed, it is also more prone to incompatible situations, but also pay attention to thermal problems, especially after overclocking. You can use memtest this software to detect memory, it can completely detect the stability of the memory.
If you are a dual memory, and a different brand of memory plug or buy second-hand memory when this problem occurs, then you have to check whether the memory is faulty or incompatible with other hardware.
If not, then troubleshoot the software.
First of all, the principle: memory has a place to store data called buffer, when the program put the data in one place, because there is not enough space, there will be overflow phenomenon. For example: A bucket can only be a catty of water, when you put two pounds of water into, will overflow. The system is displayed on the screen. This problem, often appearing on windows2000 and XP systems, Windows 2000/XP hardware requirements are very harsh, once encountered a resource deadlock, overflow or similar to Windows 98 illegal operations, the system to maintain stability, this occurs. It is also possible that the compatibility between hardware devices is poor.
Let me give you a few examples to analyze:
Example one: open IE browser or a few minutes before the "0x70dcf39f" instruction refers to the "0x00000000" memory. The memory cannot be "read". To terminate the program, click OK, and after you click OK, an "internal error occurred, one of the windows that you are using is about to close," and the IE browser is turned off after you close the information box. Workaround: Fix or upgrade Internet Explorer while patching. Seen one of the fixes, Win2000 since the upgrade, that is, Win2000 upgrade to Win2000, in fact, this method is to restore the system to the initial state of the system. For example, your IE upgrade to 6.0, since the upgrade, will be replaced by IE5.0.
Example two: Under Windows XP, double-click the "AutoRun.exe" file inside the disc to display the "0x00000078" memory referenced by the "0x77f745cc" directive. The memory cannot be "written", and to terminate the program, click OK, while running in Windows 98 is normal. WORKAROUND: This may be a system compatibility issue, WinXP System, right-click "AutoRun.exe" file, properties, compatibility, "Run this program in compatibility Mode" Item selection, and select "Windows 98/me". Win2000 If you hit the SP patch, just start, run, enter: regsvr32 c:winntapppatchslayerui.dll. Right-click Properties, and the compatibility options will also appear.
Example three: RealOne gold was closed with an error, previously used normally, and recently the "0xFFFFFFFF" memory referenced by the "0xffffffff" instruction on each shutdown. The memory cannot be a prompt for "read". Workaround: When using the input method for Microsoft Pinyin Input Method 2003, and hide the Language bar (no problem when not hidden) This problem occurs, so you can display the Language bar before closing RealOne or any other input method as the current input method to solve the problem.
Example four: my hero Super king梁肇new since the Internet has not been able to play, each time prompted "0x060692f6" (each change) instruction refers to the "0xff000011" memory can not be "read", terminate the program please press OK. Solution: Try to reload hero Super King梁肇new, if re-install will also, to the official website to download the corresponding version of the patch to try. Still not, had to change on the other player to try.
Example five: Double-click a game shortcut, the "0x77f5cd0" directive refers to "0xFFFFFFFF" memory, the memory cannot be "read", and prompts Client.dat program error. WORKAROUND: Reinstall the latest driver for the video card, and then download and install DirectX9.0.
Example six: A friend sent a message, my computer has an error message: "0x772b548f" instruction refers to the "0x00303033" memory, the memory can not be "written", and then QQ automatic offline, and then open QQ, found him sent over more than 10 of information. Solution: This is the other side use QQ bug, send special code, do QQ error, as long as the patch or upgrade to the latest version, it's OK.
"Cause resolution"
1 memory strip is broken replace the memory bar
2 Dual memory incompatible use the same brand of memory or just one memory
3 Memory quality issues replacing memory strips
4 Thermal issues enhance internal cooling of the chassis
5 memory and motherboard not plugged in or other hardware incompatible reseat memory or replace slot
6 hardware problems replacing the hard drive
7 Drive problem Reload drive, if new system, install motherboard driver first
8 Software corruption Reload software
9 software has bugs patched or updated to the latest version
10 software and system incompatible software patch or try the System compatibility mode
11 conflicts between software and software if you have recently installed new software, uninstall the test
12 software to use other related software has problems reloading related software, such as playing a file in a format error, it may be the decoder of this file has a problem
13 Virus Problem Antivirus
14 anti-virus software conflicts with the system or software because antivirus software is entered into the underlying monitoring system, may conflict with some software, uninstall try
15 The system itself has a problem sometimes the operating system itself will have bugs, pay attention to install the official release of the update, like the SP patch, it is best to hit. If not, reinstall the system, or replace another version of the system.
(another saying)
In the Add/Remove Programs in Control Panel to see if you have installed Microsoft Net.framework, if you have installed, you can consider uninstalling it, of course, if you later in the other programs need net.framework, you can reinstall.
Also, if you are using an ATI graphics card and you are using a SP2 patch (some ATI graphics drivers need to work in net.framework environment). In this case you can find an ATI graphics card driver that does not require net.framework support.
If the above two methods do not completely solve the problem, you try to use "IE repair" software, and can check whether there is a virus or the like.
(Microsoft Net.framework upgrade to version 1.1 should be no problem)
(there is another saying)
Method One:
Microsoft newsgroup Friend pointing: Start-run: regsvr32 jscript.dll
Start-run: regsvr32 vbscript.dll
But it didn't work out---but it provided a path-----run the registration of all DLLs at once
The search finds the following methods:
Run input cmd Enter the command prompt for the for%1 in (%windir%system32*.dll) do regsvr32.exe/s%1 This command, man, you slowly lose input correctly, you will see a fast scrolling screen otherwise ... Otherwise failure is not the effect. Go back and wait (it takes 1-2 minutes) to run and open.
Method Two:
This is a typical problem ~~~~~ causes a lot of problems. Generally speaking is to patch the system and replace the memory, to the memory slot 3 ways to solve. [System patches are available online as soon as they are updated on the Microsoft Update website]
Occasionally
This problem is caused by a lot of reasons, can not be a simple conclusion, try to do the following points may be helpful to you:
1. Be sure to use unmodified software (non-Chinese, cracked version)
2. Try not to run other software when using the software. (This is a temporary file, some software may also be using temporary folders, so interference)
3. Turn off any desktop tools, memory grooming tools (you have at least 2 similar tools running) "
Processing method:
Run regedit into the registry, under Hkey_local_machinesoftwaremicrosoftwindowscurrentversionexplorershellexecutehooks, there should be only one normal key value "{aeb6717e-7e19-11d0-97ee-00c04fd91972}, remove the other.
(My personal final settlement and opinion)
I tried a variety of ways today, and finally I found out that the problem was on Microsoft's net.framework. I upgraded this software, and patched, after a short period of peace, there is a "memory can not be read" situation. Later I was inspired by the above article, uninstalled Microsoft's net.framework1.0 and 1.1, the world peace.
In addition: if it is open "My Computer", "My Documents" and so on when the above situation, there is another possibility, is that your right-click menu is too bloated, at this time as long as the right-click menu to clear the problem is resolved.
(Results of the test)
The most useful and thorough method of the above method is this:
Run input cmd Enter at the command prompt
For%1 in (%windir%system32*.dll) does regsvr32.exe/s%1
"Tips" If you are afraid of typing errors, you can copy this instruction, and then click on the command prompt in the upper left corner of the C:, using the following "edit-paste" function is not easy to lose the wrong. After the rapid scrolling screen completely static, do not worry about starting other programs, first patiently wait a while, because the DLLs are still looking for location. Do something else until your light is not flashing.