"Looking at the debug information available in the core file"
What core file where how?
Greetz, Marc1917
A program that fails can produce what's called a "core file." This
contains a copy of the memory inside the program at the point when it
failed, and it can be read by a debugger to show what was going on at
the point of failure -- what functions were called, what the data
structures contained, and so forth.
By default, when the system produces a core file, it's in the current
directory. This behavior can be changed on Solaris with "coreadm."
See man pages: signal(3HEAD), coreadm(1M), core(4), and limit(1) for a
number of the details.
Not all failures produce core files, things such as setuid can inhibit
core files, and programs can intercept signals and failures and handle
them in other ways. Your mileage will probably vary.
--
James Carlson, Solaris Networking <james.d...@east.sun.com>
SUN Microsystems / 1 Network Drive 71.234W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.497N Fax +1 781 442 1677
> Not all failures produce core files, things such as setuid can inhibit
> core files, and programs can intercept signals and failures and handle
> them in other ways. Your mileage will probably vary.
Could it also be dependant off some setting if such a file is created, since
I am not seeing one where the customer says it's created, also how is such a
file called, to what name it is writen to the directory, for I can search
where it is if this test system is configured to throw it at another folder
then the folder of the program/executable.
Kind Regards,
Marc
A core file is typically called 'core' and that's why it's called a core
file. If you are under Sun's file manager, you'll see a fusing bomb
associated with it.
Yuan Liu
In a Bourne-type shell, try doing a "ulimit -c" (sets the maximum size of
a core dump) -- if it's 0, you can do "ulimit -c unlimited". The equivalent
command in a C shell is "limit core unlimited".
>also how is such a
>file called, to what name it is writen to the directory,
Typically named "core"; some operating systems name it "foo.core", where
foo is the name of the executable that dumped core. On most systems, if you
type "file core", it'll tell you which executable it's from.
Usually it's dumped to the current working directory.
--
I'm waiting for tech support to call me back. I'm also waiting for the
second coming of Jesus. Wanna take bets on which happens first?
The name core dates back a few decades, when memory was made up of
ferrite cores. Thus an application that 'dumps core' copies the contents
of its memory to an image file on the hard disk. Usually this is
because of a programming fault, the most common causes being
segmentation violations and bus errors. In these situations, the only
safe thing to do is to have the program abort.
It is also possible to induce a core dump deliberately.
The most useful part of the core dump is the stack trace. This is
particularly useful if you have the source code for the application, as
it can allow you to find which function caused the application to crash.
If you don't have the source, then the file is of little or no use to
you.
A bientot
Paul
--
Paul Floyd http://paulf.free.fr (for what it's worth)
Mail as URL, replace 1st . with @
What happens if you have lead in your pants as well as lead in your pencil?
Wow! This *is* deep, very deep, indeed.
--
Surendar Jeyadev jey...@wrc.xerox.bounceback.com
Remove 'bounceback' for email address
Nick V.