| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> C /C + + Programming >> Content
    Cómo depurar una pérdida de memoria en C + +
    Una pérdida de memoria es cuando un programa hace que un consumo gradual pero constante de la memoria , haciendo que el programa utilice más memoria de la que necesita . A lo sumo , el programa sólo tiene que utilizar más memoria y ralentizar el equipo . En casos extremos se utilizarán memoria suficiente para causar otros programas de estrellarse debido a la falta de memoria disponible , el peor de los casos que se colgará su sistema operativo . En C + +, pérdidas de memoria pueden ser causados ​​por varios errores diferentes en la codificación . El siguiente le mostrará cómo comprobar para ver si su programa tiene una pérdida de memoria y dónde encontrarlo . Instrucciones
    1

    Averigüe si su programa tiene una pérdida de memoria . Ejecute el programa a través de la depuración , escriba: ' _CrtDumpMemoryLeaks () '


    La primera línea de código se lee " pérdidas de memoria detectados ! " Si no es así, el programa no tiene una pérdida de memoria .
    2

    rastrear la ubicación de la pérdida de memoria. La tercera línea de

    ' _CrtDumpMemoryLeaks () '

    utilizado con la declaración:

    ' # define _CRTDBG_MAP_ALLOC '

    le dirá el nombre de la presentar en el que se asigna la memoria perdida . También puede utilizar MFC para seguir las asignaciones de memoria . En MFC la macro: .

    ' DEBUG_NEW '

    puede ser usado para rastrear las fugas de memoria
    3

    Ir al archivo indicado . Los malos codificación tendrán que ser localizado. Hay varias causas de la pérdida de memoria , uso incorrecto de new /delete , una eliminación fuera de lugar, punteros " perdidos " o un puntero sale del ámbito . Compruebe las líneas de código que se asigna la memoria y corregir cualquier problema. Compruebe si la memoria asignada en un bucle se libera en cada iteración. Asegúrese de que los punteros no pueden salir del ámbito antes de liberar memoria. Compruebe también que los códigos :

    ' malloc ' /' libre'

    ' nueva ' /' delete '

    ' new [] ' /delete [ ] '< br >

    se utilizan correctamente
    4

    ejecutar el programa a través del depurador de nuevo escribiendo: . _CrtDumpMemoryLeaks () '


    para ver si el problema persiste.

    Previous :

    next :
      Artículos relacionados
    ·¿Qué son las propiedades parciales 
    ·Cómo buscar y analizar archivos de texto en C # 
    ·Cómo utilizar el operador Vector3 Ogre 
    ·Cómo convertir un puntero a un valor de cadena en C + …
    ·Cómo manipular cadenas de MFC 
    ·Cómo utilizar ASM en Visual C 
    ·Cómo utilizar punteros void en C 
    ·Cómo hacer un C + + ventana principal sin una barra de…
    ·Cómo hacer un botón de salida en C + + 
    ·Cómo utilizar un control ListBox en el MFC de Visual C…
      Artículos destacados
    ·Cómo código en Pascal 
    ·¿Qué es SQL ClS 
    ·Cómo obtener filas de DataGrid en JavaScript 
    ·Cómo Desatadlo un controlador de eventos en jQuery 
    ·Cómo recuperar un archivo DAT DAT 
    ·Cómo hacer una instalación de Java 
    ·¿Cómo puedo cambiar caracteres de una cadena en VBScr…
    ·Cómo terminar OmniMark Script 
    ·¿Qué es NetBeans Desarrollo 
    ·Cómo crear un usuario en Oracle SQL 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com