FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
||||
|
||||
Stack Overflow
Hola peña, creo que el título de mi hilo lo dice todo...¡ me quedo sin memoria !
El caso es que no entiendo el porqué, ya que me he asegurado de declarar variables tipo LongWord para que no sobrepase el rango. Mi programa es de codificación de audio, hay un bucle en el que cada vez el número de muestras codificadas va aumentando, hasta que pega el pete cuando lleva 211Mb codificados...Le puse para que codificara un archivo de gran tamaño, para probar un contador de tiempo que le puse a la aplicación, para probar si me contaba bien los minutos, pero claro, no me imaginaba yo que me pegase le excepción a los 38'', momento en el que me doy cuenta de que mi aplicación tiene un fallo que no había detectado. ¿Qué podría hacer? ¿Es posible que LongWord no sea suficiente para controlar el nº de muestras que voy codificando? El problema parece no estar ahí, pero no sé dónde más mirar |
#2
|
|||
|
|||
Provastes int64?
Int64= –2^63..2^63–1 Longword= 0..4294967295 Salu2 |
#3
|
|||
|
|||
no llamaras recursivamente a alguna funcion dentro del bucle?, tipo :
o en un OnEvent change? Última edición por coso fecha: 01-06-2008 a las 16:40:59. |
#4
|
||||
|
||||
Pues ni lo uno ni lo otro, quiero decir, no tengo puesto nada recursivo, y por otra parte, he probado con el tipo Int64 y tampoco ha resultado .
Tengo puesto un TTimer para hacer un reloj que cuente el tiempo de proceso, ¿podría ser este el problema? de todas formas lo puse enabled:=false por probarlo pero tampoco ha resultado. Ya casi no me quedan ideas por probar, no creo ya que sea cosa de overflow de alguna variable, ahora estoy pensando que es problema de la propia función de mi librería que llama a la función codificadora, ya que al comentar esa línea el proceso de lecturas va perfecto. La función codificadora es de una dll que tengo importada para el programa. Saludos. |
#5
|
|||
|
|||
si pones el codigo del bucle quiza te podamos ayudar mejor...
pd: usas los breakpoints, watches, ctrl+f3 y el f8 del debugger para saber exactamente cuando te salta el stack overflow? |
#6
|
||||
|
||||
En el debug me sale en call FreeDeviceContexts, si le doy a ctr+F3 me va al boton que llama la función de codificación, pero no me aclara nada, o sea, en código va a:
Cita:
Cita:
Yo no sé a vosotros, pero yo debugeando con Delphi lo hago a nivel un poco básico y esto del ctrl+F3 y viendo la pila con esas instrucciones en ensamblador no me han aclarado casi nunca los problemas que he tenido... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
stack overflow | juan francisco | Varios | 6 | 28-05-2008 22:26:15 |
Stack overflow | aonarres | API de Windows | 5 | 29-02-2008 13:07:11 |
Stack overflow al reabrir una tabla | jzginez | Conexión con bases de datos | 1 | 24-04-2007 16:52:53 |
Stack Overflow | agonzalez | Varios | 5 | 08-12-2006 22:26:46 |
Stack Overflow | Mariana | Varios | 14 | 30-10-2003 11:37:47 |
|