Click here to Skip to main content
13,089,246 members (72,566 online)
Rate this:
Please Sign up or sign in to vote.
See more:
"An unhandled exception of type 'System.StackOverflowException' occurred in System.Data.dll " i m getting this error in application,how to overcome this one?

thanks in advance.
Posted 8-Feb-13 0:45am
Updated 8-Feb-13 0:59am
ryanb31 8-Feb-13 8:05am
You'll have to start with showing us what code is causing it.

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

It's not good to show just the exception without any code sample. However, usually this problem is very easy to solve.

Almost 100% of certainty that this is result of "infinite" recursion or mutual recursion:[^],[^].

Such problems can be resolved in a very systematic way using the debugger. First, you observe where the exception is thrown. Put a break point before it happens and use the debugger window "Call stack". You will see where the calls come from. Find out the reason for infinite recursion and devise a correct condition of exit from recursion. Usually, the bug can be found very quickly if you combine debugging with simple logic.

You make an initial guess on at least one method which is attempted to get called "infinite" number of times. Usually it does not take long to find such place. You put break point(s) on a very beginning of such method(s) and try to confirm it happens. When the execution is stopped on a breakpoint, you can go up the stack or down the stack. It's more effective to go down: you keep the breakpoint and debug just one this method stepwise, making big steps at first, until you catch the same method being called deeper in stack (remember your breakpoint is still there). When it happens, you start over and go in smaller step until you pinpoint where the recursion goes. This time try to figure out why the condition of the recursion end is never met. At the same time you move your breakpoint(s) closer to the source of recursive call, narrowing your net.

It may sound difficult, but with little practice always gives 100% results, unlike the cases with different bugs of some unknown nature. In case of stack overflow, you can be 100% sure that you can find the problem before you start looking.


This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy |
Web03 | 2.8.170813.1 | Last Updated 8 Feb 2013
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100