People who use the Windows operating system sometimes experience such an error message:
"0X????????" directive refers to "0x00000000" memory, which cannot be "read" or "written", and the application is closed.
If you go to ask some "master", get the answer is often "windows is so unstable" such as 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 this error.
First, the application failed to check memory allocation
When a program needs a piece of memory to store the data, it needs to apply the "functional function" provided by the operating system, and if the memory allocation succeeds, the function will return the newly opened memory area address to the application, and the application can use this memory through this address. This is "Dynamic memory allocation", where the memory address is the "cursor" in programming. Memory is not always a trick to use, and sometimes memory allocation will fail. When the allocation fails, the system function returns a value of 0, at which point the return value "0" no longer represents 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 the error, it will consider the value to be the available cursor assigned to it according to "mind inertia" and continue to use the memory in subsequent executions.
The real 0 Address memory area stores the most important "interrupt descriptor" in the computer system and is not allowed to be used by applications. Under an operating system that does not have a protection mechanism (such as DOS), writing data to this address can cause an immediate machine, and in a robust operating system, such as windows, this operation is immediately captured by the system's protection mechanism, and the result is that the operating system forcibly shuts down the faulty application to prevent its error from widening. At this point, the above "Write memory" error occurs, and the referenced memory address is "0x00000000". Memory allocation failure causes many reasons, not enough memory, system function version mismatch, etc. may have an impact. As a result, this allocation failure is often seen after the operating system has been in use for a long time, with multiple applications installed (including an unintentionally "installed" virus program), and after a large number of system parameters and system files have been changed.
Second, the application because of its own bug refers to an abnormal memory cursor
In applications that use dynamic allocations, there are times when a program attempts to read and write a "should-be" memory, but somehow the expected available cursor is invalidated. It may be "forgotten" to ask the operating system for an assignment, or it may be that the program has written off the memory at some point, "no attention" and so on. The logged out memory is reclaimed by the system and its access does not belong to the application, so the read-write operation also triggers the system protection mechanism, and the only end of the attempt to "break the law" is to terminate the execution by operation and reclaim all resources. The laws of the computer world are still much more effective and severe than human beings! Situations like this are bugs in the program itself, and you can often reproduce errors in a particular sequence of actions. Invalid cursors are not always 0, so the memory address in the error hint is not necessarily "0x00000000", but other random numbers. If the system often mentions error prompts, the following suggestions may be described:
1. Inspect the system for Trojans or viruses. Such programs often irresponsibly modify the system in order to control the system, resulting in operating system exceptions. It is necessary to strengthen the awareness of information security and never be curious about the executable program with unknown source.
2. Update the operating system to allow the operating system installer to copy the correct version of the system files and correct system parameters.
Sometimes the operating system itself will have bugs, and be careful to install an official release upgrade.
3. Try out the new version of the application.
Mode:
To replace virtual memory
Answer:
So far it is certain that, if it does not happen again when the next cold weather arrives, it is the main cause.
Additional:
If you use Ghost to restore the OS, it is recommended to delete all * in the Windowsprefetch directory. PF file because Windows is required to collect the physical address of the program.
Some application errors "0x7cd64998" instructions refer to "0x14c96730" memory. This is why the memory cannot be inferred as "read".
SOURCE by:
Win XP "pre-read" technology
This optimization technique is also used in applications where the system analyzes the first several start-up scenarios for each application, and then adds a virtual "memory image" that describes the requirements of a form and stores the information in a Windowsprefetch folder. Once the image is established, the loading speed of the application software is greatly improved. The pre-read data for XP stores information about the last 8 system startup or application software startup.
Post-classification:
At present this method is also the unrivaled network (its code for this problem for a long time), is also a common problem, the original almost every day before bedtime to close the software Some programs will occur ... read ...
It's not happening now.
When running some programs, there are times when a memory error is prompted (the content may not be the same 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".
Do 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 problems.
Let's talk about hardware:
In general, the possibility of memory problems is not large, the main aspect is: The memory bar is bad, memory quality problems, there are 2 different brands of different capacity of the memory mix, but also more prone to incompatible situations, but also pay attention to the problem of heat dissipation, especially after overclocking. You can use the Memtest software to detect memory, it can completely detect the stability of the memory.
If you are a dual memory, and it is a different brand of memory to plug in or buy second-hand memory, 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 where the data is called buffer, when the program put the data in one place, because there is not enough space, will occur overflow phenomenon. For example: A bucket can only be a catty of water, when you put two Jin of water into, it will overflow. And the system is displayed on the screen. This problem, often on the windows2000 and XP systems, Windows 2000/XP hardware requirements are very stringent, once encountered resource deadlock, overflow or similar to Windows 98 illegal operations, the system to maintain stability, this situation occurs. It may also be the result of poor compatibility between hardware devices.
Below I will give you a few examples to analyze:
Example: the "0x00000000" memory referenced by the "0x70dcf39f" directive will appear when IE is open or in a few minutes. The memory cannot be "read". To terminate the program, click the info box for OK, click OK, and then the "internal error occurs, one of the windows you are using is about to close" message box, and after the message is closed, IE browser is closed. Workaround: Fix or upgrade IE browser, and patch it up at the same time. Seen one of the fixes is that Win2000 from 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, but it is normal to run in Windows 98. WORKAROUND: This may be a system compatibility issue, WinXP System, right button "AutoRun.exe" file, attributes, compatibility, "Run this program in compatibility Mode" option, and select "Windows 98/me". Win2000 If you hit the SP patch, just start, run, enter: regsvr32 c:winntapppatchslayerui.dll. Right-click, properties, also appear compatibility options.
Example three: RealOne gold was shut down with an error that was previously used normally, but most recently the "0xFFFFFFFF" memory referenced by the "0xffffffff" directive at each shutdown. The memory cannot be prompted for "read". Workaround: When using the input method for Microsoft Pinyin Input Method 2003, and hide the Language bar (no problem when hidden) close RealOne will appear this problem, so before you close the RealOne can display the Language bar or any other input method as the current input method to solve this problem.
Example four: my hero Super Jie Ba since the Internet can not play, each time prompted the "0x060692f6" (each change) instruction reference "0xff000011" memory can not be "read", terminate the program please click OK. Solution: Try to reload the hero Super Jie Ba, if the reload will also, to the official website download the corresponding version of the patch try. Not yet, I'll have to try it on another player.
Example: Double-click a game shortcut, the "0x77f5cd0" instruction refers to "0xFFFFFFFF" memory, the memory cannot be "read", and prompts Client.dat program error. WORKAROUND: Reload the latest driver for the video card, and then download and install DirectX9.0.
Example six: A friend sent a message over, my computer will appear the 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 that he sent over the more than 10 message. Solution: This is the other side of the use of QQ bugs, send special code, do QQ error, as long as the patch or upgrade to the latest version, it is OK.
"Reason for resolution"
1 memory strips are broken. Replace the memory strips
2 Dual memory incompatible with the use of the same brand of memory or as long as a single memory
3 Memory quality issue replace the memory bar
4 thermal problems to enhance the internal cooling of the chassis
5 memory and motherboard not plugged in or other hardware incompatible reseat memory or swap slots
6 hardware problem Replace hard drive
7 Drive problem Reload driver, if new system, install motherboard driver first
8 Software damage Reload software
9 software has bugs patched or updated to the latest version
10 software and systems are incompatible with software patching or testing the compatibility mode of the system
11 conflict between software and software if you have recently installed any new software, uninstall the test
12 software to use other related software problems reload related software, such as playing a file in a format error, may be the decoder of this file has problems
13 Virus Problem Antivirus
14 anti-virus software and system or software conflict because antivirus software is into the underlying monitoring system, may be in conflict with some software, uninstall try
15 system itself has problems sometimes the operating system itself will also have bugs, pay attention to install the official release of the update, like the SP Patch, the best hit. If not, reinstall the system, or replace the other version of the system.
(Another said)
In the Control Panel Add/Remove program to see if you have installed the Microsoft Net.framework, if it has been installed, you can consider uninstalling it, of course, if you later need to net.framework other programs, you can reinstall.
Also, if you are using an ATI video card and you are using a SP2 patch (some ATI graphics drivers need to be in the Net.framework normal working environment). In this case you can find an ATI graphics driver that does not require net.framework support.
If the above two methods do not completely solve the problem, you try to use the "IE repair" software, and can check whether there are viruses and so on.
(Microsoft Net.framework upgrade to 1.1 version should be no problem)
(and one said)
Method One:
Microsoft News Group Friend pointing: Start-run: regsvr32 jscript.dll
Start-run: regsvr32 vbscript.dll
But it didn't work out---but it provided a way-----run once to register all DLLs
Search to find the following method:
Run input cmd Carriage enter at the command prompt for the '%1 in ' (%windir%system32*.dll) do regsvr32.exe/s%1 This command dude, you're going to have to lose it. If you enter the correct words, you will see the rolling screen. Otherwise, failure is not the effect. Wait for a carriage return slowly (take 1-2 minutes) and turn it on
Method Two:
This is a typical problem ~~~~~ causes many reasons for this problem. In general, the system is to patch and replace the memory, to the memory of the slot for the 3 ways to solve. [System patches can be updated online only on the Microsoft Update website]
Occasionally
There are many reasons for this problem, can not be a simple conclusion, try to do the following may help you:
1. Ensure the use of unmodified software (non-Chinese, cracked version)
2. Try not to run other software when using software modification. (This is a temporary file, some software may also be using a temporary folder, so interference)
3. Turn off any desktop tools, memory-finishing tools (you have at least 2 similar tools running).
Processing method:
Run regedit into the registry, under Hkey_local_machinesoftwaremicrosoftwindowscurrentversionexplorershellexecutehooks, there should only be a normal key value ' {aeb6717e-7e19-11d0-97ee-00c04fd91972}, remove the other.
(My personal final resolution and view)
I tried a variety of ways today and finally I found out that the problem was with Microsoft's net.framework. I upgraded the software, and hit the patch, after a short period of peace, there are "memory can not read" situation. Later I was inspired by the above article, uninstall the Microsoft net.framework1.0 and 1.1, the world is peaceful.
In addition: if it is open "My Computer", "My Documents" and so on when the above situation, there is a possibility, is that your right key menu is too bloated, at this time as long as the right button to clean up the menu problem solved.
(Results of the experiment)
The most useful and thorough approach to the above method is this:
Run input cmd Carriage enter at the command prompt
For%1 in (%windir%system32*.dll) do regsvr32.exe/s%1
"Tip" If you are afraid of input errors, you can copy this instruction, and then in the Command Prompt box, click on the upper left corner of the C:, use the following "edit-paste" function is not easy to lose the wrong. After the speed of the rolling screen is completely still, do not rush to start other programs, patience to wait for a while, because the DLLs are still looking for location. Until your light doesn't flash, do something else.
Note : More wonderful tutorials Please pay attention to the triple computer tutorial section, triple Computer group: 189034526 welcome you to join