c++ - procesos - ¿Qué tan preciso es el Administrador de tareas?
procesos maliciosos en el administrador de tareas (3)
Tengo una aplicación C ++, cuando observo el Administrador de tareas, muestra que el uso de memoria de la aplicación aumenta gradualmente.
Comprobé manualmente mi código fuente y utilicé Visual Leak Detector para Visual C ++ para encontrar fugas de memoria, pero no pude encontrar ninguna. ¿Es 100% que hay una pérdida de memoria, y no pude encontrarlo o hay alguna posibilidad de que el Administrador de tareas me extravíe?
No lo es Tiene varias opciones para estadísticas de memoria (use View + Columns) y la versión importa, pero la vista predeterminada muestra el conjunto de trabajo. La cantidad de memoria virtual que usa su programa está en realidad en la memoria RAM. Es un número estadístico que puede cambiar muy rápidamente. Simplemente minimice la ventana principal de su aplicación, por ejemplo.
El tamaño de VM que puede mostrar tampoco es bueno. Ese número incluye bloques de montón gratuitos. Obtener memoria real en uso es muy complicado, lea la letra pequeña en el artículo de SDK para HeapWalk.
Es inútil para la detección de fugas, a menos que se escape de él.
Uso Process Explorer como reemplazo para el Administrador de tareas. Muestra gráficos de historial para el uso de CPU / mem
Yo uso el administrador de tareas extendidas http://www.warecase.com/products.asp
Esto es útil para fines de depuración especialmente para verificar si existe un hilo o no y otros casos similares. Puede proporcionar mucha información si tiene pdb para su proceso o aplicación.
Probablemente pueda usar DevPartner para identificar fugas de memoria. Es muy útil.