RE: [programming] core dumped

2000-11-18 Terurut Topik widya wulansari

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

2000-11-18 Terurut Topik Ronny Haryanto

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

2000-10-30 Terurut Topik Purwadi

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

2000-10-29 Terurut Topik Sumantri Adiaksana

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

2000-08-23 Terurut Topik Benny Prijono

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

2000-08-23 Terurut Topik Ronny Haryanto

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

2000-08-23 Terurut Topik Benny Prijono

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

2000-08-23 Terurut Topik Ronny Haryanto

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

2000-08-23 Terurut Topik Benny Prijono

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

2000-08-21 Terurut Topik Ronny Haryanto

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

2000-08-21 Terurut Topik Ronny Haryanto

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]