Niyə Proqramlar çökür

Niyə Proqramlar çökür
Niyə Proqramlar çökür

Video: Niyə Proqramlar çökür

Video: Niyə Proqramlar çökür
Video: Niyə 3 (Tam Film ) 2024, Aprel
Anonim

Bu gün fərdi kompüterlərin köməyi ilə həll olunan müxtəlif vəzifələr nəhəng bir tətbiq proqramının mövcudluğu ilə təmin olunur. Proqramla işləmək rahatlığı əsasən fövqəladə halların olmaması ilə ifadə olunan etibarlılığından asılıdır. Ancaq bir çox proqram ən uyğun olmayan anda qəzaya uğrayır. Niyə?

Niyə
Niyə

İstisna mexanizmi, müasir əməliyyat sistemlərinin nəzarəti altında kompüter proqramlarının istismarı zamanı yaranan xüsusi, anormal və ya səhv vəziyyətləri izləmək və idarə etmək üçün istifadə olunur. İstisnalar hardware (prosessor tərəfindən atılan) və proqram təminatı (tətbiqin özü və ya bəzi əlavə modulu xarici komponent tərəfindən atılan) ola bilər.

Növündən asılı olmayaraq, istisna tutula bilər və düzgün işlənə bilər. Tutulmayan istisnalar kök işləmə vaxtı kitabxana işləyicisinə və ya bir əməliyyat sistemi tərəfindən quraşdırılmış işləyiciyə gedir. Bu baş verərsə, proqram bir mesaj və ya anormal bir sonlandırma pəncərəsi (Windows-da) ilə çökür. Əməliyyat sistemi işləyicisi işləmədisə (məsələn, qəsdən qaldırıldı), proqram "səssizcə çökür". Beləliklə, tətbiq edilə bilməyən istisnalar səbəbindən proqramlar çökür. İstisnaların meydana gəlməsinin səbəbləri fərqlidir.

Əksər hallarda, açıq və ya aşkar tətbiq səhvləri olan öz kodlarının icrası səbəbindən proqramlar çökür. Fövqəladə halların mümkün səbəblərinin siyahısı çox uzundur. Bunlar həm üzən nöqtə nömrələri üzərində işləyən klassik səhvlərdir (məsələn, 0-a bölünmə), həm də yaddaşla işləmə səhvləri (proses ünvanı sahəsindən kənarda oxumaq və ya yazmaq, qorunan səhifələrə giriş, yalnız oxunan yaddaş sahəsinə yazmaq), sonsuz rekursiyaya görə daşma yığını və s. Bu hallarda hardware istisnaları və ya əməliyyat sistemi istisnaları atılır.

Örtülü səhvlərə müxtəlif daxilolma məlumatlarının kifayət qədər süzülməməsi, göstərici dəyərlərinin təsdiqlənməməsi və daha çox hallar aiddir. Bu cür çatışmazlıqlar yalnız müəyyən hallarda müstəsna vəziyyətlərə səbəb olur.

Tətbiqdə istifadə olunan xarici komponentlərdə tətbiq səhvləri də tapıla bilər. Məsələn, lazımi funksionallığı və ya əlavə modullarını təmin edən dinamik kitabxanalarda. Bir prosesin ünvan sahəsinə dolayı şəkildə yüklənmiş proqram kodu (məsələn, müəyyən API funksiyalarını ələ keçirmək üçün), proqramın çökməsinə səbəb ola bilər.

Bir çox komponent və kitabxana (məsələn, Windows-dakı ADO) proqramlı istisna mexanizmindən səhvləri hesabat vermək üçün prioritet kimi istifadə edir. Bu cür tətbiqetmə ilə istisnaların olmaması və ya yarımçıq qalması tamamilə zərərsiz vəziyyətlərdə belə (verilənlər bazasına bağlantının itirilməsi kimi) qəzaya səbəb ola bilər.

Tövsiyə: