خطاهای زمان اجرا در ویندوز به اندازه خود سیستم عامل قدیمی است. این یک پیام خطای رایج برای دیدن زمانی است که یک برنامه خراب می شود، اما خطای زمان اجرا دقیقاً چیست و چه کاری می توانید در مورد آن انجام دهید؟
توسعه نرمافزار پیچیده است و برنامههای مدرن به کتابخانههای پیچیده و دادههای پشتیبانی کننده برای کار مطابق انتظار متکی هستند. این راهنما به شما کمک می کند بفهمید که چرا خطاهای زمان اجرا رخ می دهند و چگونه آنها را به حداقل برسانید.
خطای زمان اجرا چیست؟
اصطلاح "خطای زمان اجرا" به هرگونه خطای برنامه در هنگام اجرای برنامه اشاره دارد. به عبارت دیگر، برای یک برنامه در حال اجرا اتفاق می افتد. این برخلاف خطاهایی است که هنگام کامپایل کردن یک برنامه اتفاق می افتد. کامپایل فرآیند گرفتن کد برنامه نویسی (کد "منبع") و تبدیل آن به کد باینری است که می تواند توسط سیستم عامل تحریک شود. اگر هر بخشی از کد منبع نامعتبر باشد، کامپایلر متوقف می شود و یک پیام خطا می دهد.
خطاهای زمان اجرا زمانی اتفاق میافتند که فایل اجرایی کامپایل شده با موقعیتی مواجه میشود که نمیداند در مرحله بعد چه کاری انجام دهد یا چیزی در عملکرد عادی آن اختلال ایجاد میکند. در این مرحله، آن را در حوله پرتاب می کند و یک خطای زمان اجرا می دهد.
انواع مختلف خطای زمان اجرا
از آنجایی که خطاهای زمان اجرا بسیار گسترده تعریف شده اند، عیب یابی آنها می تواند مشکل باشد. این کمک می کند تا بفهمید با چه نوع خطاهای رایجی ممکن است مواجه شوید. پنج نوع خطای زیر جامع نیستند اما محتمل ترین مقصر هستند.
خطاهای منطقی
خطاهای منطقی زمانی اتفاق میافتند که رایانه به معنای واقعی کلمه با چیزی مواجه میشود که «محاسبه نمی کند » است. این خروجی تولید شده توسط کد برنامه است که نتیجه غیرمنتظره ای ایجاد می کند، گاهی اوقات نتیجه غیرممکن است، زیرا منطق کد ردیابی نمی شود یا برنامه نویسان مجموعه خاصی از شرایط یا ورودی ها را پیش بینی نکرده اند.
نشت حافظه
نشت حافظه زمانی اتفاق میافتد که یک برنامه پس از اینکه دیگر به آن نیازی نداشته باشد، حافظه درخواستی خود را پس ندهد. با گذشت زمان، نشت حافظه منابع کمتر و کمتری را برای برنامههای دیگر باقی میگذارد که منجر به کاهش عملکرد و در نهایت خطاهای زمان اجرا میشود. این یک نرم افزار جالب است زیرا نرم افزاری که خطای زمان اجرا را گزارش می کند معمولاً نرم افزاری با نشت حافظه نیست. این فقط قربانی نشت است..
تقسیم بر صفر
تقسیم بر صفر غیرممکن است، بنابراین هنگامی که رایانه شما سعی می کند، به یک سیاهچاله منفجر می شود. شوخی کردم! برنامه را با خطای زمان اجرا در امتداد خطوط "نمی توان بر صفر تقسیم کرد" خراب می کند.
اشیاء تعریف نشده
این خطا معمولاً با جاوا و جاوا اسکریپت مرتبط است، جایی که متغیرهایی که مقداری به آنها اختصاص داده نشده یا اعلام نشده اند. به عبارت دیگر، هیچ داده ای در یک متغیر وجود ندارد، یا کد به متغیری اشاره دارد که وجود ندارد. اساساً برنامه نویس به نوعی مشکل را ایجاد کرده است.
خطاهای IO
خطاهای IO یا ورودی/خروجی زمانی اتفاق میافتد که یک برنامه سعی میکند دادهها را از یک دستگاه ذخیرهسازی بخواند یا بنویسد و با شکست مواجه شود. این می تواند دلایل مختلفی داشته باشد، از درایو قطع شده تا هارد دیسک یا سخت افزار USB معیوب. دیسک های نوری خراشیده یکی دیگر از دلایل رایج خطاهای IO هستند.
نحوه رفع خطاهای زمان اجرا
بنابراین با یک خطای زمان اجرا مواجه شده اید، و این شما را آزار می دهد زیرا سعی می کنید کارها را انجام دهید. در حالی که در بالا ذکر کردیم که خطاهای زمان اجرا انواع مختلفی دارند، و خطاهای خاص ممکن است به شما نشان دهد که کدام نوع است، برخی از اصلاحات کلی وجود دارد که ممکن است بدون توجه به جزئیات کار کنند.
کامپیوتر خود را راه اندازی مجدد کنید
راهاندازی مجدد رایانه ممکن است مشکلات مربوط به نشت حافظه را حل کند یا حافظه پنهان موقت داده یا سایر دادههای کاری که ممکن است باعث توقف برنامه شده باشد را پاک کند. اگر مشکلی پس از راهاندازی مجدد برطرف شد، به رفع علت کمک نمیکند، اما برای مشکلات گاه به گاه، راهاندازی مجدد راهحلی سریع است.
برنامه را به روز کنید
بیشتر از موارد دیگر، خطاهای زمان اجرا در نرم افزار ناشی از اشکالات در خود نرم افزار است. زمانی که یک توسعهدهنده نرمافزار از این باگها آگاه شود، معمولاً مشکل را برطرف کرده و یک بهروزرسانی برای برنامه منتشر میکند. بنابراین یکی از اولین کارهایی که باید انجام دهید این است که بررسی کنید آیا بهروزرسانی برای نرمافزار شما موجود است یا خیر.
شاید مهمتر از آن، هنگامی که با خطای زمان اجرا ویندوز مواجه می شوید، باید آن را به توسعه دهندگان گزارش دهید. گاهی اوقات یک دکمه گزارش در کنار پیام خطا وجود دارد. در مواقع دیگر ممکن است مجبور شوید اسکرین شات بگیرید یا کد خطا را یادداشت کنید و سپس از طریق ایمیل یا رسانه های اجتماعی با شما تماس بگیرید. گزارش یک باگ جدید می تواند سرعت رفع آن را افزایش دهد..
ویندوز را به روز کنید
خطاهای زمان اجرا همچنین می تواند به دلیل اشکالات یا مشکلات دیگر در خود مایکروسافت ویندوز باشد که اغلب در به روز رسانی های ویندوز اصلاح می شوند. مشکلات کوچک معمولاً در "Hotfixes" که بهروزرسانیهای کوچکی هستند که مشکلات فوری خاص را برطرف میکنند، بررسی میشوند.
از طرف دیگر، اگر برنامه ای بلافاصله پس از به روز رسانی ویندوز شروع به دادن خطاهای زمان اجرا کرده است، ممکن است بخواهید آخرین آپدیت را حذف کنید را تا زمانی که توسعه دهندگان نرم افزار خود را به روز کنند.
درایورهای قدیمی خود را به روز کنید
درایورها نرمافزاری هستند که به سیستم عامل اجازه میدهند سختافزار شما را کنترل کند، مانند آداپتور نمایشگر (کارت گرافیک شما با نام AKA). نرمافزار جدید یا نرمافزار جدید بهروزرسانیشده ممکن است به ویژگیهایی متکی باشد که فقط در آخرین نسخه درایور وجود دارد، بنابراین وقتی به روز رسانی درایورها را برای اجزای رایانه خود میکنید، ممکن است خطاهای مربوط به زمان اجرا مربوط به سختافزار را برطرف کنید.
برنامه را دوباره نصب یا تعمیر کنید
خطاهای زمان اجرا می تواند نتیجه فایل ها یا داده های برنامه خراب باشد. بنابراین وقتی برنامه اجرایی سعی میکند به دادههایی که برای کار کردن نیاز دارد دسترسی پیدا کند، با خطا مواجه میشود، زیرا این دادهها اشتباه است یا از دست رفته است.
با حذف نصب برنامه و نصب مجدد آن، میتوانید دادههای خراب را با یک نسخه جدید بازنویسی کنید. ممکن است مجبور نباشید ابتدا برنامه را حذف نصب کنید. بسیاری از برنامهها هنگامی که نصبکننده را دوباره اجرا میکنید یا سعی میکنید آنها را از قسمت برنامهها و ویژگیها در کنترل پنل حذف نصب کنید کنید، گزینه «تعمیر» یا «تأیید» را ارائه میدهند.
همه برنامه های دیگر را ببندید
خطاهای زمان اجرا که ناشی از نشت حافظه است یا به دلیل نیاز یک برنامه خاص به حافظه بیشتر از آنچه در دسترس است ایجاد میشود، میتوان با بستن هر برنامه غیرضروری که باز است، کاهش یافت. همچنین ممکن است بخواهید اندازه فایل مبادله خود را تنظیم کنید تا فضای تنفسی کمی برای برنامه هایی ایجاد کنید که در RAM قرار نمی گیرند.
اگر مطمئن هستید که خطاهای زمان اجرا ناشی از ظرفیت حافظه است نه نشتی حافظه، میتوانید مقدار RAM رایانه خود را نیز ارتقا دهید تا بارهای کاری سنگینتر را مدیریت کنید.
ویندوز را در حالت ایمن اجرا کنید یا یک بوت تمیز انجام دهید
اگر گمان میکنید که خطاهای زمان اجرا ناشی از درایورها یا سایر برنامههای نرمافزاری در پسزمینه است، میتوانید از حالت Safe Mode یا یک بوت تمیز برای تأیید آن استفاده کنید..
Safe Mode یک حالت بوت ویژه در ویندوز است که فقط حداقل درایورها و سرویس های ویندوز را بارگیری می کند. اگر مشکل در حالت Safe Mode برطرف شد، می توانید نسبتاً مطمئن باشید که مشکل یا مربوط به درایور است (آنها را به روز کنید) یا یک سرویس ویندوز. به راهنمای ما در نحوه راه اندازی در حالت ایمن مراجعه کنید تا ببینید آیا کمک می کند یا خیر. اگر اینطور است، ممکن است بخواهید با غیرفعال کردن خدمات در برگه خدمات MSConfig.
آزمایش کنیدیک بوت تمیز تقریباً برعکس حالت ایمن است. ویندوز به جای بارگیری حداقل سیستم عامل، همه نرم افزارهای راه اندازی شخص ثالث را غیرفعال می کند. اگر بوت تمیز خطای زمان اجرا را برطرف کند، احتمالاً یک برنامه شخص ثالث است که باید غیرفعال، بهروزرسانی یا جایگزین شود. به راهنمای ما در نحوه اجرای یک بوت تمیز مراجعه کنید.
قطعات زمان اجرا را به روز کنید
نرمافزار اغلب به کتابخانههای نرمافزار مشترک و مؤلفههای زمان اجرای نرمافزار استاندارد بستگی دارد. اگر اینها نصب نشده باشند، خراب شده باشند، یا نسخه اشتباه باشند، ممکن است مشکلاتی ایجاد کند. نمونه هایی از این مولفه های زمان اجرا عبارتند از بسته قابل توزیع مجدد Microsoft Visual C++.
شما می توانید VC++ مورد نیاز قابل توزیع مجدد را از وب سایت مایکروسافت دانلود کنید، اما معمولاً با نرم افزاری که به آن نیاز دارد ارائه می شود. بنابراین نصب مجدد یا تعمیر برنامه باید کتابخانه زمان اجرا Visual C++ را نیز بازیابی کند. این یکی از سادهترین مشکلات مؤلفه زمان اجرا برای شناسایی است، زیرا پیام خطای زمان اجرا معمولاً مشخص میکند که «خطای زمان اجرا C++» است.
پرونده های خراب را بررسی کنید
خرابی دادهها زمانی اتفاق میافتد که یکها و صفرهای تشکیلدهنده یک فایل به دلایلی آسیب دیده یا بازنویسی شوند. آسیب به فایل های سیستم یا برنامه می تواند منجر به خطاهای زمان اجرا غیرمنتظره شود.
می توانید جستجوگر فایل سیستم ویندوز (SFC) را برای بررسی و تعمیر آسیب به فایل های سیستم اجرا کنید. برای برنامهها، اگر ابتدا آن را بدون حذف نصب اجرا کنید، نصبکننده گزینه «تعمیر» خواهد داشت. با سرویس گیرندگان نرم افزاری مانند بخار ، می توانید از گزینه "تأیید" روی بازی های خود نیز استفاده کنید تا بررسی کنید که فایل ها هنوز کامل هستند.
یک اسکن بدافزار انجام دهید
بسیاری از بدافزارها خود را به کدهای در حال اجرا تزریق میکنند، فایلهای داده را خراب میکنند یا فایلهای اجرایی را تغییر میدهند. همه اینها می تواند منجر به خطاهای زمان اجرا شود. برای رد کردن بدافزار به عنوان دلیل دریافت خطا، با استفاده از آنتی ویروس یا نرم افزار ضد بدافزار مورد علاقه خود اسکن کنید..
یک تست حافظه انجام دهید
قبل از اینکه نرم افزار در حال اجرا شما برای پردازش به CPU شما برسد، در RAM شما متوقف می شود. اگر RAM شما معیوب است، ممکن است خطاهای زمان اجرا ایجاد شود که ردیابی آن دشوار است. یک آزمون حافظه را اجرا کنید و مطمئن شوید که مشکلی با ورق زدن بیت ها در ماژول های حافظه شما نیست!
.