نمایش نتایج 1 تا 17 از 17

نام تاپیک: Stack Over Flow

  1. #1
    کاربر دائمی آواتار Mah6447
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    گرگان
    پست
    210

    Stack Over Flow

    چگونه می توان از حلش کرد
    ایا راهی برای خالی کردن Ram بدون ریست وجود دارد؟

  2. #2
    چگونه می توان از حلش کرد
    ؟!!!


    ---------------


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  3. #3
    مشکلت جای دیگه‌اس، Ramرو بیخیال شو!

  4. #4
    من هم تقریبا همچین سئوالی دارم ... !
    چطور میشه به حافظه رم دسترسی داشت و اون رو خالی کرد ، حتما موقع کار با XP دیدید که بعد از مدتی کار کردن بعضی چیزها اجرا نمی شن ، مخصوصا اگه تعداد زیادی IE باز باشه ( مخصوصا با صفحه های پر عکس ) ...

    من میخوام وقتی رم به این وضعیت افتاد ، اون رو خالی کنم ،‌شاید صورت سئوالم درست نباشه !! ...
    برنامه ها در هنگام اجرا مقداری از حافظه رو اشغال میکنن ولی وقتی که بسته میشن انگار باز هم فضای حافظه رم اشغال شده هست ،‌دیگه نمیشه چیزی رو اجرا کرد و باید سیستم رو راه اندازی مجدد کنیم ...
    آیا راهی هست که بشه به رم دسترسی داشت و حافظه رو خالی کرد ، البته قسمتهایی از حافظه که چیزی توش لود نباشه ...

    اگه سئوال غلطه لطفا بگید و اگه راهی هم هست خوشحال می شم راهنماییم کنید ...

    درضمن اگه اون دوستمون که تاپیک رو ایجاد کرده منظورش همین سئوال من نبوده بگه تا من توی یک پست دیگه مطرح کنم ...

    موفق باشید ...

  5. #5
    کاربر دائمی آواتار Delphi Skyline
    تاریخ عضویت
    دی 1383
    محل زندگی
    شیراز
    پست
    1,174
    تو ویندوز تو با برنامه ای که با دلفی می نویسی به تنهایی نمی تونی به کل رم دسترسی داشته باشی چون تو در مدل مدیریت حافظه Flat هستی . برای برنامه تو فقط یه قسمت رم قابل Access کردن می باشد . بعضی از برنامه ها وقتی اجرا میشن چند پروسه دیگه و یا سرویس ها رو هم راه می اندازن که بستن پروسه اول پروسه های بعدی رو نمی بنده . تو برای خالی کردن حافظه باید از API هایی که در رابطه با Exit Process هستن استفاده کنی و اون پروسه رو ببندی .

  6. #6
    تو برای خالی کردن حافظه باید از API هایی که در رابطه با Exit Process هستن استفاده کنی و اون پروسه رو ببندی .
    ممنون ...
    از کجا بفهمم کدام پروسه باید بسته بشه ، چطور میشه فهمید که آیا پروسه در حال اجرا هست یا اینکه می توان آن را بست ؟!
    فرض میکنیم لیست پروسه ها رو دارم ، چطور چک کنم که فلان پروسه باید بسته بشه یا نباید بسته بشه ؟! ( یعنی اگه بسته بشه مشکلی در اجرای سایر پروسه های در حال اجرا پیش میاد )

    باز هم اگه صورت سئوالم غلطه معذرت میخوام ... !

  7. #7
    کاربر دائمی آواتار Delphi Skyline
    تاریخ عضویت
    دی 1383
    محل زندگی
    شیراز
    پست
    1,174
    پروسه های سیستمی رو که سیستم حفاضت میکنه و نمی شه بستش . بقیش رو هم تو باید اطلاعاتی در مورد پروسه داشته باشی که چیکار میکنه می تونی لیستی از برنامه هایی رو که AutoStart هستن رو از حالت Auto Start خارج کنی تا با بالا آمدن مجدد ویندوز اونا اجرا نشن .

  8. #8
    کاربر دائمی آواتار Hamid.Kad
    تاریخ عضویت
    آبان 1385
    محل زندگی
    پُشت هیچستانم...
    پست
    349
    اگه برنامه ای رو نیاز نداریم که با بستن اون میشه فضای حافظه رو پس گرفت.
    شاید کندی سرعت پس از اجرای چند برنامه و بستن اونها بدلیل مشکل fragmentation ی باشه که در ram بوجود میاد که اون رو هم میشه با برنامه های مربوط به این کار برطرف کرد.
    (هر چند من خوذم ترجیح میدم از این برنامه ها بدلیل زمان اجرای نسبتاً طولانیشون استفاده نکنم و کندی سیستم رو تحمل کنم ! )

    البته خود سیستم عامل xp هم تا اونجا که من میدونم این کار رو در مواقع idle انجام میده

  9. #9
    خالی کردن Ram اصولا بی معنیه.چون Ram همیشه پر هست البته نه پر از اطلاعات مفید قسمت هایی که ما بهشون میگیم خالی , در حقیقت حاوی اطلاعات نامشخصی هست
    برای افزایش سرعت سیستم عامل باید برنامه هایی رو که حافظه زیادی اشغال کردن رو از حافظه خارج کنیم

  10. #10
    کاربر دائمی آواتار Mah6447
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    گرگان
    پست
    210
    سلام
    از دوستان متشکرم که اینگونه پاسخگوی سوالات هستند.
    دقیق تر بگویم. یکی از برنامه ای که من نوشتم در پایان پیغام Stack Over Flow
    می دهد و نمی دانیم با این مشکل چکار کنم من حدس می زنم که حافظه سیستم پر
    می شود بنابراین سوال دوم این بودن آیا در حین اجرای برنامه می توان حافظه را
    خالی کرد یا خیر.

  11. #11
    کاربر دائمی آواتار Delphi Skyline
    تاریخ عضویت
    دی 1383
    محل زندگی
    شیراز
    پست
    1,174
    پیامی مبتنی بر Stack Over Flow راجع به پر شدن رم نیست چون رم به اندازه کافی جا برای برنامه شما و استکش داره . این پیغام زمان های دیگری بوجود میاد از قبیل دسترسی به عنصری خارج از استک .

  12. #12
    قیق تر بگویم. یکی از برنامه ای که من نوشتم در پایان پیغام Stack Over Flow
    می دهد و نمی دانیم با این مشکل چکار کنم من حدس می زنم که حافظه سیستم پر
    می شود بنابراین سوال دوم این بودن آیا در حین اجرای برنامه می توان حافظه را
    خالی کرد یا خیر.
    مدیر حافظه ویندوز 2 گیگابایت حافظه مجازی در اختیار برنامه شما میزاره و عملا برنامه شما کنترلی بر روی RAM سیستم نخواهد داشت، بلکه با همون حافظه مجازی کار میکنه و مدیر حافظه ویندوز در صورت نیاز آدرس های داخل حافظه مجازی پروسس شما را به آدرس های فیزیکی روی رم Map می کنه.
    پیغام Stack Overflow همونطور که از متنش هم پیدا ست، یعنی فضای Stack اختصاص داده شده به برنامه شما پر شده و سرریز کرده. معمولا یکی از دلایل شایع این خطا، استفاده از توابع بازگشتی است که به بارها خودشون خودشان را فراخوانی می کنند. البته ممکنه علت های دیگه هم داشته باشه.
    با توجه به اینکه میگید در پایان اجرای برنامه این خطا رخ میده، می تونید Break Point هایی در سورس قرار بدید که ببینید چه کدی در زمان بسته شدن برنامه این خطا را ایجاد میکنه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  13. #13
    برخوی موارد هم باگ هایی که در کامپایلر دلفی وجود داره باعث ایجاد خطاهای عجیب و غریبی در برنامه میشه.من بارها با این خطاها مواجه شدم.البته این مورد اصلا عجیب نیست و حتما دلیل خاصی داره

  14. #14
    در ادامه پست آقای کشاورز، هرجایی از کدت که Loop داری، بخصوص از نوع while یا repeat اگر حالتی پیش بیاد که این لوپها بی پایان بشند و شرطشون اجرا نشه این خطا رو میگیری و معمولا هم این خطا از این مشکل یا همون توابع ریکرسیو بوجود میاد.

  15. #15
    کاربر دائمی آواتار Delphi Skyline
    تاریخ عضویت
    دی 1383
    محل زندگی
    شیراز
    پست
    1,174
    برخوی موارد هم باگ هایی که در کامپایلر دلفی وجود داره باعث ایجاد خطاهای عجیب و غریبی در برنامه میشه.من بارها با این خطاها مواجه شدم.البته این مورد اصلا عجیب نیست و حتما دلیل خاصی داره
    مثلا ؟؟؟؟؟؟ کامپایلر موظف تصحیح کد های اشتباه ما نیست !!!!!!!!!

  16. #16
    نقل قول نوشته شده توسط Delphi Skyline مشاهده تاپیک
    مثلا ؟؟؟؟؟؟ کامپایلر موظف تصحیح کد های اشتباه ما نیست !!!!!!!!!
    مثلا AV
    احتمالا میخای در مورد AV و اینکه چه موقع پیش میاد برام توضیح بدی
    موارد بوده که من با دلفی 7 این اشکال رو داشتم ولی وقتی همون برنامه رو با ورژن 2006 کامپایل کردم مشکلی نبوده

  17. #17
    موارد بوده که من با دلفی 7 این اشکال رو داشتم ولی وقتی همون برنامه رو با ورژن 2006 کامپایل کردم مشکلی نبوده
    امکان داره باگی در Runtime دلفی وجود داشته که در نسخه های بعدی آن باگ برطرف شده.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

تاپیک های مشابه

  1. آشنایی با Work Flow
    نوشته شده توسط amozesh4 در بخش VB.NET
    پاسخ: 33
    آخرین پست: شنبه 28 شهریور 1394, 10:06 صبح
  2. work flow
    نوشته شده توسط yas111 در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: سه شنبه 25 فروردین 1388, 12:32 عصر
  3. stack over flow
    نوشته شده توسط farnaz2003 در بخش C#‎‎
    پاسخ: 7
    آخرین پست: پنج شنبه 26 بهمن 1385, 15:11 عصر
  4. درخواست کمک( مشکل over flow )در پروژه
    نوشته شده توسط mrsafari در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: دوشنبه 30 مرداد 1385, 22:42 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •