VB6 Help: Fixing "Out of Stack Space" Error

  • Thread starter madmike159
  • Start date
In summary, the program ran out of memory when trying to compute the factorial of a very large number.
  • #1
madmike159
Gold Member
371
0
VB6 Help out of stack"

I was writing a program to work out factorials of large numbers. The doubble varible over flows at 9E+308. I work out some of the factorial then move to another subroutine and divide by ten until it is < 10 then continue timising it by integers. In the end I am left with a decimal number < 10 and another number which represents the exponant.

If I try to find the factorial of a very large number (200000+) it gives me an error "out of stack space", which I think is because it creats a stack to keep track of when you move between subroutine. I use the Call command, does anyone know a different command or a way to stop it running out of stack space?

Thanks:biggrin:
 
Technology news on Phys.org
  • #2


I assume your factorial is written using recursion (where a subroutine calls itself repeatedly). Each subroutine call adds all the local variables in your subroutine to the stack for each recursive call. So eventually there is not enough room in the computer's memory to stack anything more.

It is usually possible to solve "recursive" algorithms in a program without actually using recursion. To do so, you'll need a huge 2-dimensional array. One dimension holds all the bookkeeping you would normally store in the local variables for one recursive call; the other dimension is used for the successive steps in the recursive algorithm. It's not at all clear that you would be able to compute the factorial of larger numbers this way, since it will also consume a lot of memory. That's because the algorithm itself is going to repeat about a gazillion steps (that's more than a brazillion, by the way).

You might be able to do larger numbers by doubling the RAM (memory) in your computer. But you won't really get orders of magnitude improvement.
 
  • #3


I moved it all into one subroutine and it works very well, thanks for the help.
 

What is the "Out of Stack Space" error in VB6?

The "Out of Stack Space" error is a runtime error that occurs when a program runs out of available memory in the call stack. This can happen when a large number of nested procedures or recursive functions are used, causing the stack to become too large and exceed its memory limit.

Why does the "Out of Stack Space" error occur?

The error can occur due to a variety of reasons, such as inefficient coding practices, using too many nested procedures or recursive functions, or calling large arrays or objects without proper memory management.

How can I fix the "Out of Stack Space" error in VB6?

To fix the error, you can try optimizing your code by reducing the number of nested procedures or recursive functions, avoiding large arrays or objects, and using efficient memory management techniques. You can also try increasing the stack space limit in your program's settings.

Can I prevent the "Out of Stack Space" error from occurring?

While it may not be possible to completely prevent the error, you can minimize the chances of it occurring by following good coding practices and regularly checking for memory leaks in your program. Properly managing memory and resources can also help prevent the error.

How do I troubleshoot the "Out of Stack Space" error in VB6?

If you are unable to fix the error by optimizing your code, you can try debugging your program to identify the specific line of code that is causing the error. You can also use tools like the VB6 debugger or performance monitor to track and analyze your program's memory usage and identify potential issues.

Similar threads

  • Programming and Computer Science
Replies
12
Views
1K
Replies
6
Views
1K
  • Programming and Computer Science
Replies
1
Views
1K
  • Programming and Computer Science
Replies
1
Views
8K
  • Programming and Computer Science
Replies
1
Views
2K
  • Programming and Computer Science
Replies
8
Views
3K
  • Programming and Computer Science
Replies
5
Views
3K
  • Programming and Computer Science
Replies
4
Views
5K
  • Programming and Computer Science
Replies
18
Views
6K
Replies
8
Views
2K
Back
Top