
درواقع این یک خطا در برنامه های اجرایی می باشد که به سبب آن یک برنامه قصد دسترسی به قسمتی از Memory را دارد که اجازه دسترسی به آن را ندارد و یا آن قسمت به صورت Read-Only و برای قسمت OS-OverWrite باشد و توانایی قرار دادن چیزی در آن قسمت را نداشته باشد و یا آن قسمت یک Null-Pointer باشد و چیزی آنجا نباشد و یا حذف شده باشد مانند کد زیر:
int *arr = new int[20];
delete arr;
cout<<arr[1]; //Segmentation Faults
یک مثال تصویری و عملی از این قسمت:

نکته: این خطا با نام Signal 11 نیز شناخته می شود.
نکته: این خطا با مخفف SegFaults نیز شناخته می شود.
مفهوم Segmentation-Faults معانی مختلفی دارد و از دهه 1950 تا به اکنون مورد استفاده قرار گرفته. Segmentation-Faults به آدرس فضای Memory مطلق به یک برنامه اشاره دارد، در این کار فقد آدرس فضای مطلق به برنامه قابل Readable(خوانده شدن) است.
از Segmentation-Faults در بحث جلوگیری از حملات تحت حافظه(Memory Corruption) نیز استفاده می شود. استفاده آن در زبان های مختلف فرق آنچنانی ندارد.

یک مثال دیگر از Segmentation-Faults به شکل زیر به همراه خطای آن در هنگام اجرا
int foo[1000];
for (int i = 0; i <= 1000 ; i++)
foo[i] = i;
در کد بالا خطای به شکل زیر دریافت خواهیم کرد زیرا عددهای Valid ما از 1 تا 999 هستند.
خطا:
it arise primarily due to errors in use of pointers for virtual memory addressing, particularly illegal access.
De-referencing NULL pointers – this is special-cased by memory management hardware.
Attempting to access a nonexistent memory address (outside process’s address space).
Attempting to access memory the program does not have rights to (such as kernel structures in process context).
Attempting to write read-only memory (such as code segment).
نویسنده: امیرحسین تنگسیری نژاد