This is the mail archive of the 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: gdb attach/detach kills the target process

On 18 Jun 2003, Sam Steingold wrote:

> run a process in a cygwin window, find out its PID, run gdb in another
> window, attach to that process, then detach from it.
> the target process stops responding as soon as it is attached to.
> detaching changes nothing.
> only after I exit gdb, I get the original window responding, with the
> terminal in raw start (need to do "reset" in bash) and the process that
> gdb attached to dead.
> I tested this on python and clisp.

That's the way Windows debugging works -- once you attach to a process,
detaching from it kills the process.  No way around it.  Furthermore, the
process is killed using the Windows APIs, thus no signal ever reaches the
process and no cleanup is performed.

When you attach to the process in gdb, the process is at a breakpoint
(i.e., stopped).  If you wish to continue the process, use the "cont"
command (you may set some breakpoints first if you want).  For more info
use the gdb "help" command.  You can have the process run to completion
inside gdb.  Note that this behavior is the same on other Unix systems.

Also note: many windows processes use threads.  I suggest reading the gdb
manual carefully on how to debug multithreaded programs, in case you
haven't done this already.
      |\      _,,,---,,_
ZZZzz /,`.-'`'    -.  ;-;;,_
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster."  -- Patrick Naughton

Unsubscribe info:
Problem reports:

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