elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Memory leak con strings
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Memory leak con strings  (Leído 2,913 veces)
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Memory leak con strings
« en: 9 Agosto 2013, 14:06 pm »

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class foo
  5. {
  6.  
  7.  
  8. public:
  9.      string str;
  10.    foo() : str(1000000,'a')
  11.    {
  12.  
  13.    }
  14.    ~foo()
  15.    {
  16.        cout<<"Destructor invocado";
  17.    }
  18. };
  19.  
  20. int main()
  21. {
  22.  
  23.  
  24.    cout << "Presione para construir f";
  25.    cin.get();
  26.  
  27.  
  28.    foo* f = new foo;
  29.  
  30.  
  31.    cout << "Presione para destruir f";
  32.    cin.get();
  33.  
  34.    delete f;
  35.  
  36.    cout << "Presione para salir del programa";
  37.    cin.get();
  38. }

¿Por qué la memoria no se libera al destruir el objeto foo? *_*


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Memory leak con strings
« Respuesta #1 en: 9 Agosto 2013, 15:11 pm »

¿En base a que llegas a esa conclusion? Dudo que sea asi.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Memory leak con strings
« Respuesta #2 en: 9 Agosto 2013, 15:13 pm »

¿En base a que llegas a esa conclusion? Dudo que sea asi.
Mirando el consumo del programa en el administrador de tareas
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Memory leak con strings
« Respuesta #3 en: 9 Agosto 2013, 15:25 pm »

No se cuales columnas estaras viendo pero si depuras y/o desensamblas el programa podras ve como no es correcta tu conclusion.

Por ejemplo dentro del destructor de foo y antes de salir se llama a:
call   ILT+570(??1?$basic_stringDU?$char_traitsDstdV?$allocatorD

que a su vez salta a

ILT+570(??1?$basic_stringDU?$char_traitsDstdV?$allocatorD:
jmp std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >

Si lo depuras podes ver como dentro del string el puntero a memoria que use (yo estoy en VC++ y es _Bx->_Ptr) deja de ser valido.


EDITO

Con 10mb tal vez lo veas mas claro:

Código
  1. foo() : str(10485760/*1000000*/,'a')

1) Espacio de trabajo: 2040KB Memoria: 520KB
2) Espacio de trabajo: 12312KB Memoria: 10784KB
3) Espacio de trabajo: 2048KB Memoria: 520KB
« Última modificación: 9 Agosto 2013, 15:32 pm por Eternal Idol » En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda de novato Resource leak: is never closed
Java
MinW 3 12,215 Último mensaje 20 Diciembre 2013, 13:46 pm
por Mitsu
Memory Leak en código
Programación C/C++
yeray_pg 1 2,309 Último mensaje 1 Noviembre 2014, 11:46 am
por do-while
Archivos leak de MySpace, LinkedIn, Badoo, Tumblr...
Dudas Generales
mibex 3 6,659 Último mensaje 18 Julio 2016, 20:58 pm
por mibex
Memory leak ~~new + delete + SDL~~
Programación C/C++
Ceiplusplus 5 3,223 Último mensaje 12 Julio 2016, 18:20 pm
por Ceiplusplus
[Cracked]Vape V3 Leak by ParadiseTeam.
Juegos y Consolas
rigorvzla 3 4,975 Último mensaje 5 Enero 2019, 18:08 pm
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines