On Mon, Jul 1, 2013 at 4:10 PM, Pedro Alves wrote: > On 06/30/2013 04:17 PM, Hui Zhu wrote: >>> > If dprintf style is agent, then the target doesn't report events >>> > for such hits. If we happen to see a trap reported for the >>> > same address as another breakpoint, the trap is surely not explained >>> > by the dprintf. IOW, we shouldn't have a bpstat a dprintf w/ style >>> > agent at all. What is need is to override the breakpoint_hit method >>> > of dprintf_breakpoint_ops to always return false for agent style dprintfs. >>> > >>> > Or maybe I'm missing something. I have a hard time going from >>> > the bug description in the PR to the patch. >> OK. I add dprintf_check_status in the new patch according to your comments. >> > > But I suggested the breakpoint_ops->breakpoint_hit not breakpoint_ops->check_status. > An agent-style dprintf is just like a tracepoint. It can't ever explain > a stop. See tracepoint_breakpoint_hit. If it didn't work, please explain why. OK. Post a new version according to your comments. Please help me review it. Thanks, Hui > > -- > Pedro Alves > 2013-07-01 Hui Zhu PR gdb/15180 * breakpoint.c (dprintf_breakpoint_hit): New function. (initialize_breakpoint_ops): Set dprintf_breakpoint_hit. 2013-07-01 Hui Zhu PR gdb/15180 * gdb.base/dprintf-same-addr.c: New file. * gdb.base/dprintf-same-addr.exp: New file.