This is the mail archive of the gdb@sources.redhat.com 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: auto-solib-add when attaching to inferior


On Wed, Apr 16, 2003 at 06:11:56PM -0400, Kris Warkentin wrote:
> > > When I run a remote process using our QNX remote protocol, I get a solib
> > > breakpoint set properly and from then on, if solibs are loaded, their
> > > symbols automatically get added (auto-solib-add is on by default).  If,
> > > however, I attach to the process, even if auto-solib-add is on, I still
> have
> > > to go 'shared' to get them to load.  If I 'maint info breakpoints' on
> the
> > > attached process, I see that there isn't a shlib-events breakpoint set
> on
> > > the attached process so I assume either enable_break() isn't getting
> called
> > > or is failing.
> > >
> > > I'm still building my debug gdb to test but I'm hoping someone will tell
> me,
> > > "Oh, when you attach you should always call such-and-such function" and
> I
> > > can just add it to our back end code.
> >
> > Search for SOLIB in remote.c and see if that helps.
> 
> I didn't see an explicit "remote_ops.to_attach" in remote.c function but I
> notice that you're doing SOLIB_CREATE_INFERIOR_HOOK.  We also do that when
> we create a process.  Just for chuckles, I tried to do that in our to_attach
> function but it didn't work.  If I call it before I set inferior_ptid to the
> child process, I get a solib_event_bkpt that is relocated incorrectly.  If I
> do it after, then for some reason the target_wait() function spins blocks
> forever trying to read from the inferior.  On the bright side, the
> relocation of the solib breakpoint is done correctly (I printed the
> breakpoint_chain) but the lockup is a real puzzle.  I'm wondering if somehow
> my host and target are getting out of sync.  Fun, fun, fun.  I think I'm
> going to have to attach to our remote agent and see what the heck it thinks
> its doing.

Remember that you don't use attach with the normal remote protocol. 
When you to_open the target has already started.  For your agent it
sounds like you need to do it at to_attach time; but why isn't the one
in infcmd.c:attach_command working?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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