Autor
|
Tema: El tamaño del ejecutable en memoria crece, crece y crece... (Leído 5,831 veces)
|
Vaagish
Desconectado
Mensajes: 875
|
Hola! Alguien sabe en que circunstancias se da que el ejecutable aumente su tamaño indefinidamente? Esta claro que aumentando una variable (en tamaño), un buffer o algo por el estilo, pero quizás en otras situaciones también.. Es que tengo esta función: HINTERNET SendRequest(HINTERNET Session, char *data1, char *data2) { char B1[1024] = "\0", B2[1024] = "\0"; // Data1 Format sprintf_s(B1, sizeof(B1), HTTPTEXT, "form-data", "A", "text/plain"); memcpy(B1 + strlen(B1), data1, strlen(data1)); // Data2 Format sprintf_s(B2, sizeof(B2), HTTPTEXT, "form-data", "B", "text/plain"); memcpy(B2 + strlen(B2), data2, strlen(data2)); char BUFFER[2048] = "\0"; memcpy(BUFFER, B1, strlen(B1)); memcpy(BUFFER + strlen(BUFFER), "\r\n", 2); memcpy(BUFFER + strlen(BUFFER), B2, strlen(B2)); memcpy(BUFFER + strlen(BUFFER), HTTPENDS, strlen(HTTPENDS)); HINTERNET HIntRequest = HttpOpenRequest(Session, "POST", "php/core.php", 0, 0, 0, INTERNET_FLAG_RELOAD, 0); if (HttpSendRequest(HIntRequest, HTTPHEAD, strlen(HTTPHEAD), BUFFER, strlen(BUFFER))) return HIntRequest; else return false; }
Yo a esta función la llamo cada 4 segundos, y cada vez que se invoca,, el ejecutable aumenta unos 4k en memoria.. debería preocuparme? Y de paso, si alguien me ilumina como optimizarla mejor aun!! Saludos!!
|
|
|
En línea
|
|
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Excelente,, jamas hubiera pensado eso.. Pero por lo que veo en ese boletín, la única solución seria corregir el problema en la maquina que experimente este problema,, esa no es solución para mi..
Si dejo el ejecutable así, es muy probable que se coma toda la ram,, no? Y si Microsoft no tiene otra solución, lo mejor seria usar sockets,, no ?
Saludos!! Y Gracias!
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
¿Estas usando SSL?
Sino revisa un poco el codigo. ¿Que pasa si HttpOpenRequest funciona y HttpSendRequest no? Cuando SendRequest no devuelve false, mmm, llamas a InternetCloseHandle con su resultado?
|
|
|
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
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Fua, no había leído o mejor dicho prestado atención al bruto cartel que dice: Se produce un problema de pérdida de memoria cuando se ejecuta una aplicación que utiliza la función HttpSendRequest de la API de WinHTTP o de la API de WinINet para enviar solicitudes de Secure Sockets Layer en Windows XP Service Pack 3 Sino revisa un poco el codigo. ¿Que pasa si HttpOpenRequest funciona y HttpSendRequest no? Cuando SendRequest no devuelve false, mmm, llamas a InternetCloseHandle con su resultado? Voy a revisar si.. a lo mejor me esta faltando (o sobrando) algo.. el código sigue bastante mas, puede ser eso,, o al llamar a la función... Gracias! Saludos!
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
Fua, no había leído o mejor dicho prestado atención al bruto cartel que dice: Ya me parecia raro que fuera eso Voy a revisar si.. a lo mejor me esta faltando (o sobrando) algo.. el código sigue bastante mas, puede ser eso,, o al llamar a la función... Ahi tenes un escenario de leak seguro, seria mejor que tuvieras en cuenta si HttpOpenRequest devuelve diferente de NULL para despues llamar a HttpSendRequest, y en el caso de que esta falle llamar inmediatamente a InternetCloseHandle (si seguis con la misma logica de devolver false en caso de que falle).
|
|
|
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
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Ta,, ya esta el problema.. al no llamar a InternetCloseHandle pasa eso.. O sea, todo eso que dijiste EI jeje
El código se puede mejorar mucho se, voy a meterle a eso ahora..
Gracias Genio!
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
De nadas
|
|
|
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
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
Pero el problema de el enlace es debido a un mal diseño de Windows , no de la aplicación... sino, ya me estaria preocupando yo también, por eso es mejor usar ws2_32, require más trabajo pero los bots quedan de lujo ^^
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
Pero el problema de el enlace es debido a un mal diseño de Windows , no de la aplicación... sino, ya me estaria preocupando yo también, por eso es mejor usar ws2_32, require más trabajo pero los bots quedan de lujo ^^
Si, pero ese problema no tenia nada que ver con el de Vaagish.
|
|
|
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
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
El español crece en internet
« 1 2 »
Noticias
|
wolfbcn
|
17
|
6,192
|
25 Noviembre 2010, 10:16 am
por Artikbot
|
|
|
Telefónica crece un 30% en 2010
Noticias
|
KarlosVid(ÊÇ)
|
0
|
1,532
|
25 Febrero 2011, 21:41 pm
por KarlosVid(ÊÇ)
|
|
|
El 'sexting' juvenil crece
Noticias
|
wolfbcn
|
0
|
2,372
|
6 Diciembre 2011, 13:36 pm
por wolfbcn
|
|
|
El spam de compra-venta de acciones crece con la crisis
Noticias
|
wolfbcn
|
0
|
1,170
|
8 Abril 2014, 13:48 pm
por wolfbcn
|
|
|
Crece la demanda de monitores de mayor tamaño y resolución
Noticias
|
wolfbcn
|
0
|
1,679
|
21 Diciembre 2014, 22:55 pm
por wolfbcn
|
|