Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-07-2004
agonzalez agonzalez is offline
Miembro
 
Registrado: may 2003
Ubicación: Medellin - Colombia
Posts: 52
Poder: 21
agonzalez Va por buen camino
Stack Overflow

mi aplicacion presenta un error de Stack Overflow, leyendo en los mensages anteriores del foro me doy cuenta que se presenta cuando hay llamadas recursivas a una funcion. Este es mi caso, pero mi recurcion si tiene fin despues de procesar 11456 nodos de un arbol AVL.
En la pestaña Linker de las propiedades del proyecto hay una opcion Memory Sizes, creo que si aumento el Max Stack Size me permite compilar mi aplicacion, Es eso cierto? y si actualmente esta en $00100000, en cuanto lo debo colocar?

De ante mano muchas Gracias a todos
Responder Con Cita
  #2  
Antiguo 06-07-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por agonzalez
mi aplicacion presenta un error de Stack Overflow, leyendo en los mensages anteriores del foro me doy cuenta que se presenta cuando hay llamadas recursivas a una funcion.
Una de las formas mas comunes en la que se produce este error es de esta forma, pero no es la única.

Cita:
Empezado por agonzalez
Este es mi caso, pero mi recurcion si tiene fin despues de procesar 11456 nodos de un arbol AVL.
En la pestaña Linker de las propiedades del proyecto hay una opcion Memory Sizes, creo que si aumento el Max Stack Size me permite compilar mi aplicacion, Es eso cierto? y si actualmente esta en $00100000, en cuanto lo debo colocar?
En tu caso tendría que funcionar sin problemas... ¿Estas seguro que no se llama recursivamente de forma infinita? ¿Porque no llevas la cuenta de los ingresos al procedimiento para poder saberlo?

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 06-07-2004
agonzalez agonzalez is offline
Miembro
 
Registrado: may 2003
Ubicación: Medellin - Colombia
Posts: 52
Poder: 21
agonzalez Va por buen camino
Gracias Federico

Ya lo depure, pero no totalmente paso por paso, con lo tedioso que es depurar funciones recursivas y 11456 nodos son una cantidad significativa, me ayude escribiendo en una BD y aproximamente en un 75% del árbol se cuelga.

Pero ya modifique el Memory Sizes a $00400000 y me funciona sin ningún problema, creo que debí ensayar antes de preguntar, pero con lo alcanzado que estoy en este proyecto no tengo mucho tiempo para experimentos que no se su resultado y me pueden atrasar mas mi entrega.

mil gracias por su ayuda

Última edición por agonzalez fecha: 06-07-2004 a las 20:59:14.
Responder Con Cita
  #4  
Antiguo 07-07-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Solo un simple comentario: Recuerda que la pila no solo se utiliza para almacenar la referencia de las llamadas a las funciones, tambien se utiliza para guardar los punteros a los parámetros de las funciones, así como para almacenar momentaneamente algun valor de uso inmediato para un acceso rápido. Por eso si la función recursiva tiene muchos parámetros, la pila se agotará mucho antes que si tiene pocos parámetros.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 24-11-2006
Vicente Ivan Vicente Ivan is offline
Registrado
 
Registrado: sep 2006
Posts: 2
Poder: 0
Vicente Ivan Va por buen camino
bueno soy nuevo en el club , y lo que ma ha hecho entrar es precisamente el stack overflow , con la diferencia es que ya le aumente el numero en el memory size de 1 a 5 y no me funciono , ya he depurado todas mis formas una por una , y aun persiste el problema,,,,,, lo unico es que el mensaje aparece cuando mi ejecutable pasa de 10,504 kb , alguien me podra dar otra luz, o indicarme que mas puedo hacer.

Adicional, Estoy Utilizando archivos Dbf , delphi 2005 y advantage 7.1 , la compuadora de desarrollo bajo WinXP Sp2

Gracias

Vicente Ivan
Panamá Rep. de Panamá

Última edición por Vicente Ivan fecha: 24-11-2006 a las 22:30:55.
Responder Con Cita
  #6  
Antiguo 08-12-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Puedes intentar debugear tu aplicación y revisar el CallStack una vez producido el error.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 11:07:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi