There are many reasons for this phenomenon. First, there is something wrong with the hardware, that is, the memory; second, there are many problems with the software.
One: Let's talk about hardware first:
Generally speaking, computer hardware is not easy to break down. Memory problems are unlikely (unless your memory is really a bunch of miscellaneous brands), and the main aspects are: 1. Memory is broken (mostly second-hand memory), 2. Using memory with quality problems, 3. There is too much dust in the golden finger of the memory inserted in the motherboard. 4。 Using different brands and capacities of memory leads to incompatibility. 5。 Heat dissipation caused by overclocking. You can use the software MemTest to check the memory, and you can thoroughly check the stability of the memory.
Second, if not, troubleshoot the software.
Let's talk about the principle first: there is a place in memory called buffer for storing data. When the program puts data into the buffer, it needs the "function" provided by the operating system to apply it. If the memory allocation is successful, the function will return the address of the newly opened memory area to the application, and the application can use this memory through this address. This is "dynamic memory allocation", and the memory address is also the "cursor" in programming. Memory is not always available and inexhaustible, and sometimes memory allocation will fail. When the allocation fails, the system function will return a value of 0. At this point, the return value "0" no longer represents the newly enabled cursor, but a notification sent by the system to the application, indicating that an error has occurred. As an application, you should check whether the return value is 0 after each memory application. If so, it means that there is a fault and some measures need to be taken to save it, which enhances the "robustness" of the program. If the application does not check this error, it will think that this value is the available cursor allocated to it according to "thinking inertia" and continue to use this memory in subsequent executions. The real 0-address storage area stores the most important "interrupt descriptor table" in the computer system, which is absolutely not allowed to be used by applications. In an unprotected operating system (such as DOS), writing data to this address will cause an immediate crash, while in a robust operating system, such as Windows, this operation will be immediately captured by the protection mechanism of the system, and as a result, the operating system will forcibly close the wrong application to prevent its error from expanding. At this time, there will be an error that the memory cannot be "read", indicating that the referenced memory address is "0x00000000". There are many reasons for the failure of memory allocation, such as insufficient memory and mismatched system function versions. Therefore, this distribution failure is mostly seen after the operating system has been used for a long time, a variety of applications have been installed (including virus programs that have been unintentionally "installed"), and system parameters and system files have been changed a lot.
In applications that use dynamic allocation, it sometimes happens that the program tries to read and write a memory that should be available, but for some reason, the expected available cursor fails. It may be "forgetting" to ask the operating system for allocation, or it may be that the program itself canceled this memory at some point, "not paying attention" and so on. The logged-out memory is reclaimed by the system, and its access right no longer belongs to the application, so reading and writing operations will also trigger the protection mechanism of the system, and the only final result of the program that tries to "violate the law" is to be terminated by the operation and recover all resources. The laws of the computer world are still much more effective and severe than human beings! A situation like this is a BUG in the program itself, and you can often reproduce the error in a specific operation sequence. The invalid cursor is not necessarily 0, so the memory address in the error prompt is not necessarily "0x00000000", but it can also be other random numbers.
First of all, it is suggested that:
1, check the system for Trojan horses or viruses. In order to control the system, such programs often modify the system irresponsibly, resulting in abnormal operating system. We should strengthen our awareness of information security at ordinary times, and never be curious about executable programs with unknown sources.
2, update the operating system, let the operating system installer copy the correct version of the system file, correct system parameters. Sometimes there are bugs in the operating system itself, so pay attention to installing the officially released upgrade program.
3, try to use the latest official version of the application, Beta version, trial version will have bugs.
4. Delete and recreate the files in the Winnt\System32\Wbem\Repository folder: right-click My Computer on the desktop, and then 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. (Please back up these files before deleting them. ) Open services and applications, click Services, and then open and start the Windows Management Instrumentation service. When the service is restarted, these files will be recreated according to the information provided in the following registry key: HKEY _ local _ machine \ software \ Microsoft \ WBEM \ CIMOM \ autorecovermofs.
Here are a few examples for your analysis:
Example1:"0x037 13644" memory referenced by "08ba9ef" instruction or "0x0000000" memory referenced by "0x70dcf39f" instruction appears in IE browser. The memory cannot be read. To terminate the program, click OK. After clicking OK, the message box "An internal error has occurred and a window you are using will be closed soon" will appear. After closing this prompt message, IE browser is also closed. Solution:
1, start-run the window, enter "regsvr32 actxprxy.dll" and press enter, and an information dialog box "DLLRegisterServer in actxprxy.dll succeeded" will appear. Confirm. Then run the following commands in turn. Some people say this method is unnecessary, but re-register those. Dll will not damage the system. Anyway, it is enough to do everything to solve the problem. )
Registrar of shdocvw.dll 32
Registrar of oleaut32.dll 32
Registrar of actxprxy.dll 32
Registrar of mshtml.dll 32
Registrar of msjava.dll 32
Registrar of browseui.dll 32
Registrar of urlmon.dll 32
2. Repair or upgrade IE browser and patch the system at the same time. One of the repair methods I have seen is to restore the system to its initial state. It is recommended to upgrade IE to 6.0.
Example 2: Some application errors: "0x7cd64998" instruction refers to "0x 14c96730" memory. The memory cannot be read. Solution: Win XP's "pre-reading" technology, an optimization technology, has also been applied to applications. The system analyzes the previous startup of each application, and then adds a virtual "memory image" to describe the requirements of the application, and stores this information in the Windows\Prefetch folder. Once the image is established, the loading speed of the application software is greatly improved. The read-ahead data of XP stores the information of the last eight system startup or application software startup. It is recommended to replace the virtual memory and delete all *. PF file, and let windows collect the physical address of the program again.
Example 3: Double-click the "AutoRun.exe" file in the CD under XP to display the "0x00000078" memory referenced by the "0x77f745cc" instruction. Memory cannot be "written". To terminate the program, click OK, but it works normally in Windows 98. Solution: This may be a compatibility problem of the system. For winXP system, right-click the AutoRun.exe file, properties and compatibility, and select "Run this program in compatibility mode" and "Windows 98/Me". Win2000, if the SP is patched, just start running, and enter: regsvr32c: \ winnt \ apppatch \ Slayer ui.dll. Right-click and the properties and compatibility options will also appear.
Example 4: An error occurred when closing RealOne Gold. It used to be normal, but recently the "0xffffffff" memory referenced by the "0xffffffff" instruction appears every time it is closed. This kind of memory can't be a hint of "read". Solution: When the input method used is Microsoft Pinyin Input Method 2003 and the language bar is hidden (no problem when it is not hidden), this problem will occur when RealOne is closed, so you can display the language bar before closing RealOne or use any other input method as the current input method to solve this problem.
Example 5: My hero Super Jieba can't play after surfing the Internet. Prompt every time that the memory "0xff0000 1 1" referenced by the command "0x060692f6" (every change) cannot be read. Please press OK to terminate the program. Solution: Try to reinstall Hero Super Jieba. If it is reinstalled, you can try to download the corresponding version of the patch from official website. Not yet, so I have to try another player.
Example 6: Double-click the shortcut of the game. The instruction "0x77f5cd0" refers to the memory "0xffffffff" and cannot be read, indicating that the Client.dat program is wrong. Solution: Reinstall the latest driver of graphics card, and then download and install DirectX9.0.
Example 7: My friend sent me a message, and my computer got an error message: the memory "0x00303033" referenced by the "0x772b548f" instruction could not be "written", and then QQ automatically went offline, and then I opened QQ and found more than a dozen messages sent by him. Solution: This is that the other party uses a BUG in QQ to send a special code and makes an error in QQ. Just patch or upgrade to the latest version, and you'll be fine.
Memory can't be read or written. Solution Keywords: memory can't be read and memory can't be written.
Several articles related to online search.
the first
People who use the Windows operating system sometimes encounter such an error message:
The "0X" instruction refers to "0x00000000" memory, which cannot be read or written, and then the application is closed.
If you ask some "experts", the answer you get is often indignation and disdain like "Windows is so unstable". In fact, this error is not necessarily caused by the instability of Windows. This paper will briefly analyze the general reasons for this error.
First, the application cannot check the memory allocation.
When a program needs a piece of memory to store data, it needs to use the "function function" provided by the operating system to apply. If the memory allocation is successful, the function will return the address of the newly opened memory area to the application, and the application can use this memory through this address. This is "dynamic memory allocation", and the memory address is also the "cursor" in programming. Memory is not always available and inexhaustible, and sometimes memory allocation will fail. When the allocation fails, the system function will return a value of 0. At this point, the return value "0" no longer represents the newly enabled cursor, but a notification sent by the system to the application, indicating that an error has occurred. As an application, you should check whether the return value is 0 after each memory application. If so, it means that there is a fault and some measures need to be taken to save it, which enhances the "robustness" of the program. If the application does not check this error, it will regard this value as an available cursor allocated to it according to "thinking inertia" and continue to use this memory in subsequent executions. The real 0-address storage area stores the most important "interrupt descriptor table" in the computer system, which is absolutely not allowed to be used by applications. In an unprotected operating system (such as DOS), writing data to this address will cause an immediate crash, while in a robust operating system, such as Windows, this operation will be immediately captured by the protection mechanism of the system, and as a result, the operating system will forcibly close the wrong application to prevent its error from expanding. At this time, the above-mentioned "write memory" error will appear, indicating that the referenced memory address is "0x00000000". There are many reasons for the failure of memory allocation, such as insufficient memory and mismatched system function versions. Therefore, this kind of allocation failure is more common after the operating system has been used for a long time, after installing a variety of applications (including virus programs installed unintentionally) and changing a large number of system parameters and system files.
Second, the application referenced an abnormal memory cursor due to its own BUG.
In applications that use dynamic allocation, it sometimes happens that the program tries to read and write a memory that should be available, but for some reason, the expected available cursor has become invalid. It may be "forgetting" to ask the operating system for allocation, or it may be that the program itself cancelled this memory at some point and "didn't pay attention". The logged-out memory is reclaimed by the system, and its access rights no longer belong to the application. Therefore, reading and writing operations will also trigger the protection mechanism of the system, and the only final result of the program that attempts to "violate the law" is to be terminated by the operation and recover all resources. The laws of the computer world are still much more effective and severe than human beings! A situation like this is a BUG in the program itself, and you can often reproduce the error in a specific operation sequence. The invalid cursor is not necessarily 0, so the memory address in the error prompt is not necessarily "0x00000000", but it can also be other random numbers. If the above error prompts often appear in the system, the following suggestions can be explained:
1. Check the system for Trojan virus. This program often irresponsibly modifies the system in order to control it.
Cause the operating system to be abnormal. We should strengthen our awareness of information security at ordinary times, and never be curious about executable programs with unknown sources.
2. Update the operating system, so that the installation program of the operating system can copy the correct version of the system files and correct the system parameters.
Sometimes there are bugs in the operating system itself, so pay attention to installing the officially released upgrade program.
3. Try a new version of the application.
Mode:
Replace virtual memory
Answer:
So far, yes, that is, if it doesn't happen again when the next cold weather comes, it means this is the main reason.
Append:
If you use Ghost to restore OS, it is recommended to delete all *. PF file, because WINDOWS needs to collect the physical address of the program again.
Some applications will make errors in the "0x 14c96730" memory referenced by the "0x7cd64998" instruction. This memory cannot be "read" for this reason.
Source:
Win XP's "pre-reading" technology
This optimization technique has also been applied to application software. The system analyzes the previous startup of each application software, and then adds a virtual "memory image" to describe the application requirements, and stores this information in the WINDOWSPREFETCH data folder. Once the image is established, the loading speed of the application software is greatly improved. The read-ahead data of XP stores the information of the last eight system startup or application software startup.
Postscript:
At present, this method is also a one-stop network (the code itself has been searching for this problem for a long time), and it is also a common problem. Originally, some programs happen almost every day. Turn off the software before reading it. ......
Not anymore.
the second
When running some programs, sometimes there will be a memory error prompt (the content after 0x may be different), and then close the program.
0x instruction refers to 0x memory. The memory cannot be read.
0x memory referenced by 0x instruction cannot be "written".
I wonder if you have ever seen such a fault.
Generally speaking, this phenomenon has many aspects. First, there is something wrong with the hardware, that is, the memory; second, there are many problems with the software.
Let's talk about hardware first:
Generally speaking, memory problems are unlikely. The main aspects are: the memory stick is broken, the memory quality is problematic, and there are two different brands of memory with different capacities, which is also prone to incompatibility. At the same time, we must pay attention to heat dissipation, especially after overclocking. You can use the software MemTest to check the memory, and you can thoroughly check the stability of the memory.
This problem occurs if you have dual memory, and different brands of memory chips are mixed or you buy second-hand memory. At this time, you should check whether there is a memory problem or it is incompatible with other hardware.
If not, troubleshoot the software.
Let's talk briefly about the principle first: there is a place in memory called buffer for storing data. If the program puts the data in one place, it will overflow because of insufficient space. For example, a bucket can only hold one catty of water. If you put two Jin of water in it, it will overflow. The system is displayed on the screen. This problem often appears in windows2000 and XP systems. Windows 2000/XP has very strict requirements on hardware. In the case of deadlock, overflow or illegal operation of resources similar to Windows 98, the above situation will occur in order to keep the system stable. In addition, it may also be caused by poor compatibility between hardware devices.
Let me give you an analysis from several examples:
Example 1: Open IE browser or "0x00000000" memory referenced by "0x70dcf39f" instruction will appear in a few minutes. The memory cannot be read. To terminate the program, click OK. After clicking OK, the message box "An internal error has occurred and a window you are using will be closed soon" will appear. After closing this prompt message, IE browser is also closed. Solution: Repair or upgrade IE browser and patch it at the same time. I see that there is a repair method that Win2000 is self-upgrading, that is, Win2000 is upgraded to Win2000. In fact, this method is to restore the system to the initial state. For example, if your IE is upgraded to 6.0, it will be changed to IE5.0 after the upgrade.
Example 2: Double-click the "AutoRun.exe" file in the CD-ROM under windows xp to display the "0x00000078" memory referenced by the "0x77f745cc" instruction. Memory cannot be "written". To terminate the program, click OK, but it works normally in Windows 98. Solution: This may be a compatibility problem of the system. For winXP system, right-click the AutoRun.exe file, properties and compatibility, and select "Run this program in compatibility mode" and "Windows 98/Me". Win2000, if the SP is patched, just start running, and enter: regsvr32c: \ winnt \ apppatch \ Slayer ui.dll. Right-click and the properties and compatibility options will also appear.
Example 3: An error occurred when closing RealOne Gold. It used to be normal, but recently the "0xffffffff" memory referenced by the "0xffffffff" instruction appears every time it is closed. This kind of memory can't be a hint of "read". Solution: When the input method used is Microsoft Pinyin Input Method 2003 and the language bar is hidden (no problem when it is not hidden), this problem will occur when RealOne is closed, so you can display the language bar before closing RealOne or use any other input method as the current input method to solve this problem.
Ex. 4: My hero Super Jieba can't play after surfing the Internet. Every time you are prompted that the memory "0xff0000 1 1" referenced by the command "0x060692f6" (every change) cannot be read. Please press OK to terminate the program. Solution: Try to reinstall Hero Super Jieba. If it is reinstalled, you can try to download the corresponding version of the patch from official website. Not yet, so I have to try another player.
Example 5: Double-click the shortcut of the game. The instruction "0x77f5cd0" refers to the memory "0xffffffff" and cannot be read, indicating that the Client.dat program is wrong. Solution: Reinstall the latest driver of graphics card, and then download and install DirectX9.0.
Example 6: A friend sent a message, and my computer got an error message: the memory "0x00303033" referenced by the "0x772b548f" instruction could not be "written", and then QQ was automatically cancelled, and then I opened QQ and found more than a dozen messages sent by him. Solution: This is that the other party uses a BUG in QQ to send a special code and makes an error in QQ. Just patch or upgrade to the latest version, and you'll be fine.
Cause solution
1 The memory stick is broken. Replace the memory stick.
Dual memory is not compatible with using the same brand of memory or using only one memory.
3 memory quality problems replace the memory stick
4. Heat dissipation problem Strengthen the internal heat dissipation of the chassis
5 Memory and motherboard are not inserted correctly, or other hardware is incompatible. Reinsert the memory or replace the slot.
There is something wrong with the hardware. Replace hard disk
7 driver problems. Reinstall the driver. If it is a new system, the motherboard driver should be installed first.
8 Software Damage Reinstall the software
9 software BUG patch or update to the latest version.
10 software is incompatible with the system. Patch the software or try the compatibility mode of the system.
1 1 Software and software conflict. If any new software has been installed recently, try uninstalling it.
There is a problem with 12 software using other related software. Reinstall related software. For example, there is an error when playing a file in a certain format, which may be a problem with the decoder of this file.
Antivirus of 13 virus problem
14 Antivirus software conflicts with the system or software. Because antivirus software enters the underlying monitoring system, it may conflict with some software. Try uninstalling it.
15 system itself has a problem. Sometimes the operating system itself has bugs. Pay attention to the installation of official updates, such as SP patches, and it is best to install them. If not, reinstall the system or change the version.
[Say it again]
Check whether you have Microsoft NET installed. Add/Remove Frames from Programs in Control Panel. If it is already installed, consider uninstalling it. Of course, if you need a net. The framework is in other programs in the future, and you can reinstall it.
In addition, if you use ATI graphics card and you use SP2 patch (some ATI graphics card drivers need to be in the normal working environment of NET. Framework). In this case, you can find an ATI graphics card driver that does not need the support of NET.Framework.
If the above two methods can't completely solve the problem, you can try using IE repair software to check whether there is a virus or something.
Microsoft network. The framework should be upgraded to version 1. 1.
[One more thing]
Method 1:
Friends of Microsoft News Group pointed out: Start-Run: Regsvr32 jscript.dll.
Start running: regsvr32 vbscript.dll
But it doesn't solve it-but it provides a way to run and register all DLLs at the same time.
The search method is as follows:
Run enter cmd and enter at the command prompt.
Used for% 1 in (%windir%\system32\*). regsvr32.exe/s % 1
If you enter this command correctly, you will see a fast scroll, otherwise ... otherwise failure will not have this effect. Wait slowly after getting into the car (it will take some time 1-2 minutes) and wait until you are all running before driving.
Method 2:
This is a typical problem ~ ~ ~ There are many reasons for this problem. Generally speaking, it is to patch the system for memory and change the slot for memory. [System patches can be updated online on the Microsoft Update website]
There are many reasons for this problem, so we can't simply draw a conclusion. It may be helpful to try the following:
1。 Make sure to use unmodified software (non-Chinese, cracked version)
2。 Try not to run other software when using the modified software. This is a temporary document. Maybe some software is also using temporary folders, which causes interference. )
3。 Turn off all those desktop tools and memory sorting tools (you have at least two similar tools running). "
Treatment method:
Run regedit to enter the registry. Under the hook of HKEY _ local _ machine \ software \ Microsoft \ Windows \ Current Version \ Explorer \ Shell Eeexecute, there should be only one common key value "{aeb6717e-7e19-1d 0-99".
[My personal final solution and opinion]
I tried many methods today, and finally found that the problem was Microsoft's NET.Framework. I upgraded this software and patched it. After a short period of calm, there was a situation that "the memory could not be read". Later, inspired by the above article, I uninstalled Microsoft's NET. Frames 1.0 and 1. 1, all is well.
In addition: If you open "My Computer", "My Document" and so on, there is another possibility that your right-click menu is too bloated. At this time, just clean up the right-click menu problem and solve it.
-
[Test Results]
Among the above methods, the most effective and thorough method is as follows:
Run enter cmd and enter at the command prompt.
Used for% 1 in (%windir%\system32\*). regsvr32.exe/s % 1
Tip If you are afraid of making mistakes, you can copy this instruction and click C: \ in the upper left corner of the command prompt box. Using the following "edit-paste" function, it is not easy to make mistakes. After the quick scrolling is completely still, don't start other programs in a hurry, wait patiently for a while, because the dll is still looking for a location. Don't do anything else until the indicator light stops flashing.
Common startup project-technical support for system ctfmon user input
Internat.exe input method indicator program
Power management of LoadPowerProfileWin98/Me
Self-healing function of PCHealthWinMe system
ScanRegistry checks and backs up the registry when it starts.
Scheduling agent system scheduling task program
SynchronizationManagerWin2000 synchronization management
Manage the system tray of memory resident programs.
Taskbar Display Control Screen-Properties-Settings-Advanced-Display Icons in Taskbar
TaskMonitor task detection program, recording the use of software.
*StateMgrWinMe system restores the common startup item-the Chinese domain name CnsMin372 1 website of the software.
Kingsoft Internet Security Kingsoft Internet Security Startup Item
McAfeeVirusScanService antivirus software McAfeeVirusScanVPTRAY Norton antivirus software startup ccapp is also Norton's thing.
msmsgsWindowsMessenger
Startup procedure of NDetectICQ
Popproxy rising firewall
RavMon Rising antivirus software
rising antivirus software
Startup project of RealTrayRealplay
Added startup items of TkBellExeRealOnePlayer: IMJPMIG, TINTSETP and TINTSETP, components of IMSCMIG.EXE Microsoft IME input method. These three items are the starting items of Japanese, Korean and other input methods. Generally, these input methods are not used, and these three items can be prohibited from starting randomly.