Rumah Audio Apakah kesalahan segmentasi (segfault)? - definisi dari techopedia

Apakah kesalahan segmentasi (segfault)? - definisi dari techopedia

Isi kandungan:

Anonim

Definisi - Apakah Kesalahan Segmentasi (Segfault) bermakna?

Kesalahan segmentasi (segfault) adalah ralat yang dikembalikan oleh perkakasan dengan perlindungan ingatan yang memberitahu sistem operasi bahawa pelanggaran akses memori telah berlaku. Sistem operasi biasanya bertindak balas dengan memberitahu proses yang menyinggung tentang ralat melalui isyarat dan kemudian OS melakukan beberapa tindakan pembetulan. Ini berlaku kerana proses atau program cuba mengakses memori yang tidak diberikan kepadanya.

Kesalahan segmentasi juga dikenali sebagai pelanggaran akses.

Techopedia menerangkan Kerosakan Segmentasi (Segfault)

Kesalahan segmentasi sering disebabkan oleh kesilapan dalam pengaturcaraan suatu proses atau aplikasi di mana program ini membawa kepada memori akses yang tidak diperuntukkan untuk itu tetapi untuk program lain atau untuk sistem itu sendiri. Proses tidak dibenarkan untuk menyentuh memori yang tidak digunakan untuknya, kerana ia mesti meminta memori terlebih dahulu sebelum menggunakannya. Oleh itu, apabila secara tidak sengaja menyentuh memori yang tidak diberikan kepadanya, pelanggaran akses berlaku.


Segfaults juga boleh disebabkan oleh fungsi rekursif, yang boleh menggunakan semua ruang tumpukan yang ditetapkan dan cepat mencerobohi memori yang tidak diberikan kepadanya. Dalam sesetengah sistem, ini dianggap sebagai limpahan timbunan, tetapi bagi yang lain ia hanya satu jenis pelanggaran akses.


Kesalahan segmentasi boleh dikendalikan melalui proses melalui pengendali isyarat tersuai, tetapi selalunya ia adalah pengendali isyarat lalai OS yang digunakan, yang biasanya menyebabkan proses offending yang ditamatkan secara luar biasa, disebut crash, atau OS yang memaksa pembuangan inti .

Apakah kesalahan segmentasi (segfault)? - definisi dari techopedia