This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Greetings...


Hello all -- I'm new to the list and I have a question that I'm sure has
been asked many times before.  I'm used to using tools like gcc, gdb, make,
etc in a mixed environment of Solaris and Linux.

My problem is taking a simple program like so:

int main()
{
    char * foo = 0;
    crashme(foo);
}

int crashme(char * cp);
{
    strcpy(cp, "KABOOM!!");
}

and compiling and linking it via -g using cygwin produces an executable that
does not produce a core file when it crashes.  One might suggest that
running it via gdb (ie: gdb crashme.exe) will allow me to catch the
offending statement... however I would really prefer a core file to work
with as I don't have to "recreate" the situation in order to see what is
going on.

Even when I use gdb to catch the seg fault... the stack window isn't
providing me with any useful information.  When I open up the gdb console
and try "backtrace" I get something to the effect of:

"Error: #0  0x61070850 in _size_of_stack_reserve__ ()
Cannot access memory at address 0x2000000"

Normally I would expect the backtrace to produce something meaningful like:

#0  0xef6a4644 in strcpy () from /usr/lib/libc.so.1
#1  0x10598 in crashme (cp=0x0) at test.c:9
#2  0x10574 in main () at test.c:4

Could anyone explain this to me outright or point me towards a FAQ?

Regards,

Shelby Cain


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]