c - CONTROL \ crashes call to getline -
the following code produces "quit (core dumped)" when run , type control \. don't hit return. got code tutorial book.
i tried debugging gcc this: (at blank line it's running getline , i'm typing control \.)
14 bytes_read = getline (&my_string, &nbytes, stdin); (gdb)
program received signal sigquit, quit. 0x004011e5 in main () @ myfile.c:14 14 bytes_read = getline (&my_string, &nbytes, stdin); (gdb)
...when single step it.
#include <stdio.h> #include <stdlib.h> int main() { int bytes_read; int nbytes = 100; char *my_string; puts ("please enter line of text."); /* these 2 lines heart of program. */ my_string = (char *) malloc (nbytes + 1); bytes_read = getline (&my_string, &nbytes, stdin); if (bytes_read == -1) { puts ("error!"); } else { puts ("you typed:"); puts (my_string); } return 0; }
i used command-line "gcc -g myfile.c". on cygwwin bash
$ uname --all cygwin_nt-5.1 lenovo-3aa1e185 1.7.29(0.272/5/3) 2014-04-07 13:44 i686 cygwin
$ gcc -v using built-in specs. collect_gcc=gcc collect_lto_wrapper=/usr/lib/gcc/i686-pc-cygwin/4.8.2/lto-wrapper.exe target: i686-pc-cygwin configured with: /cygdrive/i/szsz/tmpp/gcc4/gcc-4.8.2-2/src/gcc-4.8.2/configure --srcdir=/cygdrive/i/szsz/tmpp/gcc4/gcc-4.8.2-2/src/gcc-4.8.2 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --localstatedir=/var --sysconfdir=/etc --libdir=/usr/lib --datarootdir=/usr/share --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -c --build=i686-pc-cygwin --host=i686-pc-cygwin --target=i686-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --disable-__cxa_atexit --with-dwarf2 --with-arch=i686 --with-tune=generic --disable-sjlj-exceptions --enable-languages=ada,c,c++,fortran,java,lto,objc,obj-c++ --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmath-support --enable-libssp --enable-libada --enable-libjava --enable-libgcj-sublibs --disable-java-awt --disable-symvers --with-ecj-jar=/usr/share/java/ecj.jar --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --libexecdir=/usr/lib thread model: posix gcc version 4.8.2 (gcc)
underneath cygwin microsoft windows xp professional 32-bit sp3
control-c quit signal trigger on systems :
the sigquit signal similar sigint, except it's controlled different key—the quit character, c-\—and produces core dump when terminates process, program error signal. can think of program error condition “detected” user.
quoted gnu. behavior expected: program did receive sigquit signal
Comments
Post a Comment