Announcement

Collapse
No announcement yet.

Rekursion zu tief (StackOverflowException)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Rekursion zu tief (StackOverflowException)

    Hallo,

    ich entwickele grade eine Software um Sotier Algorithmen zu Visualisieren und ihre Laufzeit zu messen, dabei bin ich aber auf ein Problem gestoßen. Bei Quicksort, was rekursiv ist, wird im Worst-Case die Rekursion zu tief. Dann tritt immer folgende Exception auf:

    An unhandled exception of type 'System.StackOverflowException' occurred in SAV.exe

    Das Problem ist wohl, dass jeder rekursive Aufruf auf den Stack gelegt wird. Der Stack aber für die Rekursion Tiefe zu klein ist. Diese Exception ist wohl dafür gedacht, um endlos Rekursionen abzufangen. Bei dieser Rekursion handelt es sich aber um eine Gewollte Rekursion die sehr tief werden kann!

    Bei C++ gab es noch die Möglichkeit einen Flag für den Compilieren zu setzen und so die Stack größe Festzulegen. Gibt es so etwas auch in .NET? Wie kann ich das Problem lösen?

    Mit freundlichen Grüßen
    Tobias Allweier

  • #2
    Hallo,
    die verfügbaren Optionen listet Microsoft im Beitrag <b>Troubleshooting Exceptions: System.StackOverflowException</b> (URL: <i>http://msdn2.microsoft.com/en-us/library/w6sxk224.aspx</i>) auf

    Comment


    • #3
      Kann mir jemand hierfür ein Beispiel geben?
      An application that hosts the CLR can change the default behavior and specify that the CLR unload the application domain where the exception occurs, but lets the process continue. For more information, see ICLRPolicyManager and Hosting the Common Language Runtime.
      Irgendwie klappt das nicht, das der Prozess weiter läuft in einer AppDomain

      Comment

      Working...
      X