On 20-Aug-2000, Putra wrote:
> Mengapa program sederhana dari contoh-contoh tentang pemakaian curses yang saya
> run / execute, banyak menampilkan error: "Segmentation fault ( Core dumped )
> padahal compile dan link succes...
Kalo error yg terjadi waktu compile atau link itu disebut compile-time
error. Sedangkan yg kayak segmentation fault itu namanya run-time
error. Run-time error tidak bisa dideteksi waktu compile karena
kesalahannya hampir 99.99% adalah dari manusianya, contohnya
logika/algorithm programnya.
Segfault itu artinya programnya berusaha mengakses memory yg bukan
miliknya. Memory management di unix pake segments seingat saya.
Contoh sederhana, kita allocate space utk array ukuran 10 tapi kita
mencoba meng-assign value ke element ke-100-nya:
int i[10];
i[99] = 5;
Cara debugnya antara lain, yg paling umum pake gdb. Misalnya:
bash$ gdb namaprogram core
(gdb) bt
Selain itu juga bisa dicoba pake strace atau truss dan sejenisnya.
Ronny
--------------------------------------------------------------------------------
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]