RE: [programming] core dumped
pada saat saya kompail suatu source-code yang saya buat sendiri(sukses)... ternyata pada saat menjalankan program tsb, saya temukan di tengah jalan program tsb gagal dan keluar statement: Segmentation fault (core dumped).. Kenapa yach ? coba telusuri kembali sourcode programnya, pastikan gak ada kesalahan logika, kalo program dibuat dalam beberapa file dan procedure cermati proses pemanggilan procedurenya. mudah2an bisa membantu. Salam Widya __ FREE Personalized Email at Mail.com Sign up at http://www.mail.com/?sr=signup Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]
Re: [programming] core dumped
On 30-Oct-2011, Christ wrote: pada saat saya kompail suatu source-code yang saya buat sendiri(sukses)... ternyata pada saat menjalankan program tsb, saya temukan di tengah jalan program tsb gagal dan keluar statement: Segmentation fault (core dumped).. Kenapa yach ? Cari tahu di mana dia segfault, compile dg -g utk debugging symbols. $ gcc -o namaprogram whatever.c -g $ gdb namaprogram core gdb bt 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]
RE: [programming] core dumped
permasalhan core dumped, biasanya karena alokasi memory, coba di cek lagi pendeklarasian varriabel -Original Message- From: Christ [mailto:[EMAIL PROTECTED]] Sent: Sunday, October 30, 2011 2:22 PM To: [EMAIL PROTECTED] Subject: [programming] core dumped pada saat saya kompail suatu source-code yang saya buat sendiri(sukses)... ternyata pada saat menjalankan program tsb, saya temukan di tengah jalan program tsb gagal dan keluar statement: Segmentation fault (core dumped).. Kenapa yach ? *Christ Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED] Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]
RE: [programming] core dumped
bisa jadi alokasi memori yang dipake program udah dipakai oleh sistem...akibatnya yaa segmentation fault. Biar lebih fleksible coba aja pake mmap() untuk aplikasi yang berhubungan dengan memory mapping -Original Message- From: Christ [mailto:[EMAIL PROTECTED]] Sent: Saturday, October 29, 2011 7:22 PM To: [EMAIL PROTECTED] Subject: [programming] core dumped pada saat saya kompail suatu source-code yang saya buat sendiri(sukses)... ternyata pada saat menjalankan program tsb, saya temukan di tengah jalan program tsb gagal dan keluar statement: Segmentation fault (core dumped).. Kenapa yach ? *Christ Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED] Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]
Re: [programming] Core dumped
Kebetulan saya sedang penasaran dengan si segmentation fault ini. Setelah bereksperimen dikit, ada hal baru yg. saya dapet yg. mungkin berguna. (lihat komentar saya di bawah). Ronny Haryanto wrote: 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; lucunya, contoh program bung Ronny di atas kalo di kompile lalu dirun, _nggak_ menghasilkan segfault (paling nggak di Linux saya). Jadi kesimpulan saya gini: sebuah program kalo di-load ke memory, akan punya beberapa bagian memory, contohnya data (data segment), code (code segment), stack, dan read-only segmen (?). Segmentation fault terjadi kalo program: 1. membaca/menulis lokasi memory diluar memory space si program (?) 2. menulis ke segmen yg. bukan data atau stack segmen. contoh u/. no 1: main () { int *p = 1; int j; j = *p; } contoh u/. no 2: main() { int *p = main; *p = 10; } Program bung Ronny di atas nggak segfault karena i[99] itu (kebetulan) masih masuk ke data segment. Jadi yg. terjadi adalah memory overwrite. -- cheers, Bennylp Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]
Re: [programming] Core dumped
On 23-Aug-2000, Ronny Haryanto wrote: On 23-Aug-2000, Benny Prijono wrote: Segmentation fault terjadi kalo program: 1. membaca/menulis lokasi memory diluar memory space si program (?) 2. menulis ke segmen yg. bukan data atau stack segmen. Program bung Ronny di atas nggak segfault karena i[99] itu (kebetulan) masih masuk ke data segment. Jadi yg. terjadi adalah memory overwrite. Right. Coba indexnya diganti - misalnya. Thanks atas penjelasannya. Saya tahu penjelasan saya memang kurang spesifik kemarin. Saya baru inget, contoh yg lebih sering dijumpai (terutama waktu belajar C) adalah lupa allocate memory setelah declare pointer: #include string.h #include stdio.h int main() { char *s; /* mestinya di sini ada s=malloc() */ strcpy(s, "contoh string"); printf("%s\n", s); } Variable (pointer) s adanya di data segment, tapi memorynya belum diallocate di stack. Dan s masih menunjuk entah ke mana, karena uninitialized. 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]
Re: [programming] Core dumped
Ronny Haryanto wrote: #include string.h #include stdio.h int main() { char *s; /* mestinya di sini ada s=malloc() */ strcpy(s, "contoh string"); printf("%s\n", s); } Variable (pointer) s adanya di data segment, tapi memorynya belum diallocate di stack. Dan s masih menunjuk entah ke mana, karena uninitialized. apa nggak kebalik tuh? variable s letaknya di stack (sama seperti kalo kita definisikan 'int i' setelah definisi variabel s, maka variabel 'i' letaknya juga di stack), tapi isi variable s merujuk ke lokasi di data segmen (setelah di-malloc tentu saja), karena malloc itu selalu ngambil memory dari data segment (atau heap segment, whatever). -- cheers, Bennylp Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]
Re: [programming] Core dumped
On 23-Aug-2000, Benny Prijono wrote: variable s letaknya di stack (sama seperti kalo kita definisikan 'int i' setelah definisi variabel s, maka variabel 'i' letaknya juga di stack), tapi isi variable s merujuk ke lokasi di data segmen (setelah di-malloc tentu saja), karena malloc itu selalu ngambil memory dari data segment (atau heap segment, whatever). Argh. Pokoknya gitu yg saya maksud, saya selalu kebalik antara stack sama heap.. hehehe.. heap yg dynamic ya? 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]
Re: [programming] Core dumped
Ronny Haryanto wrote: On 23-Aug-2000, Benny Prijono wrote: variable s letaknya di stack (sama seperti kalo kita definisikan 'int i' setelah definisi variabel s, maka variabel 'i' letaknya juga di stack), tapi isi variable s merujuk ke lokasi di data segmen (setelah di-malloc tentu saja), karena malloc itu selalu ngambil memory dari data segment (atau heap segment, whatever). Argh. Pokoknya gitu yg saya maksud, saya selalu kebalik antara stack sama heap.. hehehe.. heap yg dynamic ya? hehe.. masak lupa sih, rule-nya kan gini: - stack itu berkembang dari atas ke bawah (dari lokasi memory tinggi ke lokasi memory renday). - heap itu berkembang dari bawah ke atas (atau nggak berkembang ya?) - variabel local dan argumen fungsi itu letaknya di stack. - variabel global letaknya di heap. - malloc() dan new (kalo C++) akan mengalokasi memory dari heap. well, paling nggak itu yg. saya tau di i386. Di platform yg. lain, entahlah... -- cheers, Bennylp Utk berhenti langganan, kirim email ke [EMAIL PROTECTED] Informasi arsip di http://www.linux.or.id/milis.php3 Pengelola dapat dihubungi lewat [EMAIL PROTECTED]
Re: [programming] Core dumped
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]
Re: [programming] Core dumped
On 21-Aug-2000, Ronny Haryanto wrote: 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. Koreksi kalimat saya: Run-time error tidak bisa dideteksi waktu compile karena compile itu hanya mengecek syntax, grammar dan semantics (yang mungkin sudah benar), bukannya logika atau algoritmanya. Kesalahannya hampir 99.99% adalah dari manusianya, ...dst... 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]