| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    Come eseguire il debug di una perdita di memoria in C + +
    Una perdita di memoria è quando un programma causa un consumo incrementale ma costante di memoria , causando il programma da utilizzare più memoria di cui ha bisogno . Nella migliore delle ipotesi il programma sarà sufficiente utilizzare più memoria e rallentare il computer . Casi estremi useranno memoria sufficiente per causare altri programmi di crash a causa di mancanza di memoria disponibile , peggiore delle ipotesi andrà in crash il sistema operativo . In C + + , perdite di memoria possono essere causati da diversi errori diversi nella codifica. Di seguito vi mostrerà come controllare per vedere se il programma dispone di una perdita di memoria e dove trovarlo . Istruzioni
    1

    Scopri se il tuo programma ha una perdita di memoria . Eseguire il programma attraverso il debugger digitando: ' _CrtDumpMemoryLeaks ()'


    La prima riga di codice vengono visualizzati come " perdite di memoria rilevato! " Se no , allora il programma non ha una perdita di memoria .
    2

    rintracciare la posizione della perdita di memoria . La terza linea di

    ' _CrtDumpMemoryLeaks ( ) '

    usato con l'affermazione :

    ' # define _CRTDBG_MAP_ALLOC '

    vi dirà il nome della file in cui è stato allocato l' memoria persa . È inoltre possibile utilizzare MFC per monitorare le allocazioni di memoria . In MFC la macro : .

    ' DEBUG_NEW '

    può essere utilizzato per monitorare le perdite di memoria
    3

    Vai al file indicato . La codifica difettosi dovranno essere collocato . Ci sono diverse cause di una perdita di memoria ; utilizzo sbagliato di nuovo /delete , un'eliminazione fuori luogo , puntatori " perso" o un puntatore esce dallo scope . Controllare le linee di codice in cui è allocata la memoria e correggere eventuali problemi . Verificare se la memoria allocata in un loop viene rilasciato in ogni iterazione . Assicurati di puntatori non possono andare fuori del campo di applicazione prima che la memoria viene rilasciata . Controllare anche che i codici :

    ' malloc ' /' libero'

    'nuovo' /' delete '

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

    sono usati correttamente
    4

    eseguire il programma tramite il debugger di nuovo digitando: . ' _CrtDumpMemoryLeaks ()'


    per vedere se il problema si verifica ancora .

    Previous :

    next :
      Articoli Correlati
    ·Come giochi di programma in C + + 
    ·Come convertire doppia a stringa C + + 
    ·Come aggiornare Xcode Da Terminali 
    ·Il Progetto Wireless AVR 
    ·Come manipolare lista Vedi Controlli in MFC 
    ·Come creare un # Classe libreria DLL C Utilizzo di Visu…
    ·Come calcolare Integrale con C + + 
    ·Come scrivere binario su file un codice di esempio in C…
    ·Come compilare un programma C + + in Dev - C 
    ·Come convertire una stringa in caratteri in C + + 
      Articoli in evidenza
    ·Come imparare di programmazione PLC 
    ·Come sostituire le barre rovesciate con doppio in Java 
    ·Come scrivere programmi con VBA 
    ·Come Graph più punti dati in MATLAB 
    ·Come creare un programma di installazione per il progra…
    ·Come aggiungere righe a DataView 
    ·Come formattare le date in C # 
    ·Come verificare Checklist per Joomla 
    ·Come scrivere Progetti Open Source 
    ·Come utilizzare Raw SQL in Rails 
    Copyright © Conoscenza Informatica http://it.wingwit.com