This is the mail archive of the cygwin@sourceware.cygnus.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]

No Subject



Using B19 release of gdb and gcc, I recently created a program to test a
function that removed trailing blanks from a string, in place. That is, it
moved \0 to the first of one or more trailing blanks. This would change
"123    " to "123" or "a b c   " to "a b c", for example. To test this, I
created a main, created some strings and called the function. This
combination I tested using gdb, and everything appeared to work as I
expected. However, when I ran the program directly from DOS, it aborted
with STATUS_ACCESS_VIOLATION. I eventually realized that the problem was
caused by me passing a pointer to a literal (  char *test1 = "123    "; ),
rather than a pointer to a character array. When I fixed this ( char
test1[] = "123    "; ), the program ran as expected.

My question is, why did this run without an error under gdb, when it
aborted when run under DOS?


Keith

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


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