[lldb-dev] [PATCH] Cleanup Linux process on detach

Andrew MacPherson andrew.macp at gmail.com
Tue Mar 25 06:25:10 PDT 2014


Thanks Ed, maybe it should be moved into Process:Detach() in fact? I would
think that everyone would want to clear all breakpoint sites before
detaching. Though I guess we couldn't use DisableAllBreakpointSites() there
because DisableBreakpointSite() in the base Process class just errors out.
We could use Target::CleanupProcess() or else just get the BreakpointLists
from the Target and call ClearAllBreakpointSites() on them though. What do
you think?


On Tue, Mar 25, 2014 at 1:53 PM, Ed Maste <emaste at freebsd.org> wrote:

> On 25 March 2014 06:36, Andrew MacPherson <andrew.macp at gmail.com> wrote:
> > When detaching from a debugged process any breakpoint sites need to be
> > cleared before detaching so that they don't generate uncaught SIGTRAPs.
> > Target::CleanupProcess() seems to do the necessary cleanup so call this
> from
> > the ProcessLinux::WillDetach() method.
> >
> > If this is the right fix and if it applies to other OSes as well maybe
> the
> > cleanup call should be moved into an earlier Process class in the
> hierarchy.
>
> I fixed a similar issue on FreeBSD in r201724 by calling
> DisableAllBreakpointSites() in ProcessFreeBSD::DoDetach, based on
> ProcessGDBRemote::DoDetach.  I think you're right that this should be
> moved earlier, probably not in individual Process classes at all.
>
> -Ed
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140325/7c0c827f/attachment.html>


More information about the lldb-dev mailing list