How GDB knows a breakpoint is hit?

kceiwH kceiwh@gmail.com
Wed Aug 19 15:52:00 GMT 2009


Hi,

I wonder how GDB knows it should stop the inferior when a breakpoint  
is hit. I try to read the code but only to find how GDB creates a  
breakpoint. I thought GDB might change some instructions of inferior  
so that when the inferior executes the modified instructions, GDB  
should know. But what the function "create_breakpoint" does is to add  
a breakpoint to the list "breakpoint_chain". It is not what I thought.  
So I am confused. Does GDB monitor each instruction of the inferior  
and check whether there is a breakpoint and stop the inferior before  
the instruction is executed? If so, how GDB monitor the inferior? And  
it will be too slow. Could anybody tell how GDB handle it and plus the  
codes. Thanks in advance.

Regards,

Mao



More information about the Gdb mailing list