This is the mail archive of the cygwin 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]
Other format: [Raw text]

Re: Debugging totally broken with latest everything?


On 15/04/2013 1:14 PM, Christopher Faylor wrote:
On Mon, Apr 15, 2013 at 05:03:17PM +0100, Dave Korn wrote:
  Some notes on the above:

  The same happens with both the previous version and current snapshot of the
cygwin dll.  It also happens with both current gdb and an old gdb
6.8.0.20080328-cvs that I have lying around.

  The hw.exe in question is your bog-standard hello world, compiled with "-g
-O0" using gcc4-4.5.3-3.

  "kill -9" won't kill gdb; I have to use Windows task manager.  If I've
attached gdb to the hung gdb, I can kill it from there using the "k" instruction.

  Anyone else having similar problems?
You're probably seeing a known bug in gdb where it no longer works well
when run from a console window.  There is a race where gdb tries to get
tty information from a stopped cygwin process.  Although I didn't
introduce the problem, I have tried to fix it from time to time without
much luck.
I've also seen the problem, my workaround so far has been to ensure the process is running again before attaching gdb to it (assuming you stopped it with ^Z so that jobs -p could report its pid). Not that I actually remember to do this most of the time...

Debugging from mintty will probably work better.
That's a rather unfortunate interaction with the long-standing "feature" that interrupting programs with ^C only works if gdb runs in a console window (STC I used today is below in case I've gotten something wrong).

Am I missing some obvious workaround?

Ryan

STC: when compiling and running this:

#include <unistd.h>
#include <stdio.h>
int main() {
    printf("pid: %d\n", getpid());
    sleep(10);
}

... ^C does not break in (it exits normally) when gdb runs inside mintty; putting in a cmd.exe window allows ^C to break in with SIGTRAP (though the stack trace is utterly useless since the thread is in windows land at that point).



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


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