People who use the Windows operating system sometimes encounter this error message: "0x00000000 memory referenced by the "XX????????" instruction, the memory cannot be written”, and the application is closed. If you go to ask some "master", the answer is often "Windows is such unstable" and such disappointment. In fact, this error is not necessarily caused by Windows instability. This article is a simple analysis of the common causes of this error.
First, the application does not check the memory allocation failure
When the program needs a piece of memory to save the data, you need to call the operating system to provide the "function function" to apply, if the memory allocation Upon success, the function returns the newly created memory area address to the application, and the application can use the memory at this address. This is "dynamic memory allocation", the memory address is also the "pointer" in programming.
Memory is not always coming in, it is inexhaustible, and sometimes memory allocation will fail. When the allocation fails, the system function returns a value of 0. At this time, the return value “0” does not indicate the newly enabled pointer, but a notification sent by the system to the application to inform that an error has occurred. As an application, you should check whether the return value is 0 after applying for memory every time. If it is, it means that there is a failure, and some measures should be taken to save it, which enhances the program's "robustness".
If the application does not check for this error, it will follow the "inertia" thinking that this value is the available pointer to it and continue to use it in subsequent runs. The real 0 address memory area holds the most important "interrupt descriptor table" in the computer system, and the application is never allowed to be used. In an operating system without a protection mechanism (such as DOS), writing data to this address will cause an immediate crash. In a robust operating system, such as Windows, this operation will be immediately captured by the system's protection mechanism. The result is The operating system forcibly shuts down the wrong application to prevent its error from expanding. At this time, the above "write memory" error will occur, and the referenced memory address is "0x00000000".
There are many reasons for memory allocation failure failures, memory shortage, system function version mismatch, etc. may have an impact. Therefore, this allocation failure is more common after the operating system has been used for a long time, after installing a variety of applications (including inadvertently "installed" virus program), after changing a large number of system parameters and system files.
Second, the application refers to the abnormal memory pointer due to its own BUG
In the application of dynamic allocation, sometimes there will be such a situation: the program tries to read and write a piece “ Memory should be available, but I don't know why, the pointers available in this expectation have expired. It may be that "forgot" " to the operating system to request the allocation, it may be that the program itself has written off the memory at some point and "not pay attention" & so on. The unregistered memory is reclaimed by the system, and its access right is no longer in the application. Therefore, the read and write operations will also trigger the system's protection mechanism. The only end of the program that attempts to “illegal” is to be terminated by the operation, and all the recovery is completed. Resources. The laws of the computer world are still much more effective and stricter than humans!
Situations like this are all bugs in the program itself, and you can often reproduce errors in a specific order of operations. Invalid pointers are not always 0, so the memory address in the error prompt is not necessarily "ldx; 0x00000000", but other random numbers.
If the system often mentions an error message, the following suggestions may be helpful:
(1) Check to see if there is a Trojan or virus in the system. Such programs often irresponsibly modify the system in order to control the system, resulting in an operating system exception. It is common to strengthen information security awareness and not be curious about executable programs of unknown origin.
(2) Update the operating system, let the operating system installer re-copy the correct version of the system file, and modify the system parameters. Sometimes the operating system itself will have a bug, pay attention to the installation of the official release of the upgrade program.
(3) Try a new version of the app.
First, right-click on the blank space in the desktop -------- arrange the icon -------- remove the L
Use GHOST Backup to clone your system! After that, if your system has a problem, then find the backu
Many users are asking whether you can use the notebook HDMI interface to connect the LCD TV, how to
First, perfect user management function Windows XP uses Windows 2000/NT kernel, very safe in user m
Enable Guest's inaccessible network solution in XP
Reduce memory load and speed up XP computer speed
Windows XP Desktop Failure Solution
The problem that the two-machine interconnection can not be accessed
Mining the treasures in the Windows XP system installation disk
Windows XP installation graphic video tutorial
Let Windows XP boot up faster recipes
Operating system hardware conflict troubleshooting six skills
Always enter a strange window after entering the system
What are the system processes in the Windows Task Manager?
How to solve the Win7 system printer becomes a USB printer?
Windows 7 system sets whether the taskbar icon merges or hides the label (graphic tutorial)
How does the Linux system simulate the get or post request of Http?
WinXP system open XPS file method
Why is the IE8 browser under Windows 7 click on the webpage with a sound
Microsoft Win10/WP8.1 account recovery code is very important
What should I do if the IE browser in the win7 Ultimate computer cannot open the site?
Delete the search box of IE8/IE7 browser under Windows7 and get it easily in