On Thu, 31 Oct 2002, Bart s wrote: > believe that the core is the Linux kernel
Not really. If you find someone with a gray beard they might be able to show you some "core". Early machines had ferrite donuts (cores) for their memory, and therefore a core dump was merely dumping the content of memory. The use of the term hasn't changed -- just the use of the donuts (we eat the now). It's telling you that there was a memory access violation, and that it saved a copy of the state of the app's memory before it crashed so you can debug. > and I guess that this message > comes from the operating system. Yeah. You've done something naughty with memory. > I was wondering if anybody could tell me > what a segmentation fault is and suggest what sort of thing could be wrong > with my program. I think I've done that bit now... You're probably looking at an off by one bug or something (reading in one too many values into your array, or not starting the array at zero). To confirm this, just make the array way big and see if it still crashes. If you want to be hard "core", then try this: gdb <appname> core When it has started (it should say a heap of stuff about loading symbols), then just type bt This will show you a call stack of all the functions which happened just before the crash. Unfortunately c++ has heaps of plumbing, so this sometimes needs a bit of a dig through. Note that depending on your distro, core might be named core.<pid>, and that you need debugging support turned on in your app for gdb to be really useful here. You do that with gcc with the -ggdb switch, I'm not sure what it is for c++. Cheers, Mikal -- Michael Still ([EMAIL PROTECTED]) UTC +10 hours -- SLUG - Sydney Linux User's Group - http://slug.org.au/ More Info: http://lists.slug.org.au/listinfo/slug
