This is the mail archive of the mailing list for the GDB 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: Detecting when gdb is attached


In my knowledge, the moment you attach gdb, your process is in stopped state and 
done by kernel using SIGSTOP.
that time you process is already at some instruction.

I am not sure about youre requirement, but just after attach you can use signal 
command to signals the process and write your own signal handler to notify you 
app (for example 'signal SIGCONT').

but again you need to modify code.

if you are looking for no insn execution until gdb attached proabably try with 
sigsuspend,  sigprocmask sort of stuff.. but that changes code too.

I am not sure that helps.


----- Original Message ----
From: "Gruenhagen, Andreas" <>
To: "" <>
Sent: Thu, November 4, 2010 7:10:21 PM
Subject: Detecting when gdb is attached

Dear gdb community,
I'm developing an application which cannot be started from within the gdb. 
Therefore, I have the start the application and attach the gdb afterwards. In 
some cases it would be nice to have the application wait in a spin loop until 
the debugger is attached. Is there any way of accomplishing such a thing?  

I certainly can program the spin loop myself, attach the debugger, and then 
manually change a variable from within the debugger to end the loop. But, 
obviously, this is not an elegant solution (lots of manual work, code has to be 
changed and it has to be recompiled,and eventually, I might forget to delete the 
spin loop after debugging).

I thought of having some sort of action which is executed when the gdb is 
attached and detached, this could be for example used to switch a static flag in 
the debugee.
Is something like this possible ?

Best regards


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