Analyze application suspended animation causes


From: http://zhidao.baidu.com/question/10665665.html


Fundamentally speaking, the program does not respond because the program requests resources from the system when it is running, but it has been in a state of insufficient resources for a long time. Only, there was starvation.
This problem is mainly caused by the process priority of the program. The priority is too low. When the resource is called at multiple levels, the program applies for resources, but the resources are insufficient, the request is not approved, and over time, it is starved to death. The same is true for viruses. A program applies to call system resources, but the resources are occupied by the virus for a long time, and even deprive other resources that have just been released, resulting in few available resources, or the virus forcibly modifies the priority of each process in the process list. As a result, the resource call application is not approved for a long time.
It is recommended to perform anti-virus operations on the process and optimize the system. If the configuration is earlier, you can consider upgrading or replacing the platform. If there are still very few programs that do not respond, you can consider manually adjusting the priority of the process in the process manager. class.

 

 

Other explanations:

Let’s talk about the principle first: the memory has a place to store data called a buffer . When the program puts data in the buffer, it needs to apply for the “function function” provided by the operating system . If the memory allocation is successful, the function will use the newly opened memory. The area address is returned to the application, and the application can use this memory through this address. This is " dynamic memory allocation", and the memory address is the " cursor " in programming. Memory is not always available and inexhaustible, and sometimes memory allocation fails. When the allocation fails, the system function will return a value of 0. At this time, the return value "0" does not indicate a newly enabled cursor, but a notification sent by the system to the application to inform that an error has occurred. As an application, it should check whether the return value is 0 after each application for memory. If it is, 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 " inertia " thinking that this value is the available cursor allocated to it, and continue to use this memory in subsequent executions. The real 0-address memory area stores the most important "interrupt descriptor table" in the computer system , and is absolutely not allowed to be used by applications. In an operating system without protection mechanism (such as DOS), writing data to this address will cause an immediate crash, and in a robust operating system, such as Windows, this operation will be immediately captured by the system's protection mechanism, and the result is that the operating system forcibly closes the erroneous application to prevent its error from expanding. At this time, the above-mentioned memory cannot be "read" error occurs, and the referenced memory address is "0x00000000". There are many reasons for the failure of memory allocation, such as insufficient memory and mismatched versions of system functions. Therefore, this kind of allocation failure is more common after the operating system has been used for a long time, installed a variety of applications (including inadvertently "installed" virus programs), and changed a large number of system parameters and system files

In applications that use dynamic allocation, it sometimes happens that the program tries to read and write a piece of memory that "should be available", but for some reason, the expected available cursor has failed. It may be "forgetting" to ask the operating system to allocate, or it may be that the program itself has written off this memory at some point and "didn't notice" and so on. The canceled memory is reclaimed by the system, and its access rights no longer belong to the application. Therefore, 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 reclaim all resources. The laws of the computer world are still much more effective and stricter than humans! Situations like this are bugs in the program itself, and you can often reproduce the error with a specific sequence of operations . Invalid cursors are not always 0, so the memory address in the error message is not necessarily "0x00000000", but other random numbers  .

First suggestion: 

1. Check whether there is any Trojan or virus in the system. Such programs often irresponsibly modify the system in order to control the system, resulting in abnormal operating system. Information security should be strengthenedConscious, never curious about  executable programs of unknown origin. 2. Update the operating system, let the installation program of the operating system re-copy the correct version of the system file and correct the system parameters. Sometimes the operating system itself will have bugs, pay attention to installing the officially released upgrade program. 3. Try to use the latest official version of the application, beta version, and trial version, there will be 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 shut down and stop the Windows Management Instrumentation service. Delete all files in the Winnt\System32\Wbem\Repository folder. (Create a backup copy of these files before deleting.) Open Services and Applications, click Services, and then open and start the Windows Management Instrumentation service. When the service restarts, these files are recreated based on the information provided in the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\Autorecover MOFs 





Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327076918&siteId=291194637