StackOverflowException
-
05-07-2019 - |
سؤال
مع StackOverflowException، هل الشروط التي سيتم طرحها مشفرة أم تعتمد على الجهاز الذي يعمل عليه الكود؟
أنا متأكد تقريبًا من الخيار الأخير ولكني فشلت في عمليات البحث التي أجريتها ولا أطرح أسئلة كافية هنا.
المحلول
وثائق :
<اقتباس فقرة>... يتم طرح عندما يفيض مكدس التنفيذ لأنه يحتوي على عدد كبير جدا من استدعاءات الأسلوب المتداخلة.
اقتباس فقرة>وبما أن حجم المكدس التي تعتمد على الهندسة المعمارية ويمكن حتى يتم تجاوز على الجهاز، نعم، وليس من الصعب ترميز هذه القيمة، على الرغم من أنه عادة ثابتة جدا على ويندوز. إذا كنت أتذكر بشكل صحيح، هو 1MB في حجم افتراضيا.
نصائح أخرى
وعلى الرغم من عدم وجود تطابق كامل لسؤالك، وانظر أيضا:
وإطارات المكدس اعتمادا على طريقة معالجة نظام التشغيل الخاص بك. أعتقد يستخدم إلى x64 إطارات كومة أكبر قليلا. نضع في اعتبارنا أن المساحة عملية قادر على تزايد أكثر بكثير من التركيز على x86 و ذلك عموما يجب أن تكون قادرة على تكوين الكدسة لقبول المزيد من الإطارات على x64 و إذا RAM وحجم ملف المبادلة ليست قضية.
الاستثناء الذي يتم طرحه عند تجاوز سعة مكدس التنفيذ لأنه يحتوي على عدد كبير جدًا من استدعاءات الأساليب المتداخلة.لا يمكن توريث هذه الفئة.MSDN
لقد حاولت هذا شفرة مع بعض التغييرات.أغير البيان أعلاه وفقا لتجربتي
الإطار 4.0 الاستثناء الذي يتم طرحه عند تجاوز سعة مكدس التنفيذ لأنه يحتوي على 7573 استدعاء أسلوب متداخل.لا يمكن توريث هذه الفئة.
الإطار 2.0 الاستثناء الذي يتم طرحه عند تجاوز سعة مكدس التنفيذ لأنه يحتوي على 7038 استدعاءات أسلوب متداخلة.لا يمكن توريث هذه الفئة.